home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / system1.c < prev    next >
C/C++ Source or Header  |  2000-04-04  |  142KB  |  3,374 lines

  1. /******************************************************************************
  2.  
  3. Sega System 1 / System 2
  4.  
  5. driver by Jarek Parchanski, Nicola Salmoria, Mirko Buffoni
  6.  
  7.  
  8. Up'n Down, Mister Viking, Flicky, SWAT, Water Match and Bull Fight are known
  9. to run on IDENTICAL hardware (they were sold by Bally-Midway as ROM swaps).
  10.  
  11. TODO: background is misplaced in wbmlju
  12.  
  13. ******************************************************************************/
  14.  
  15. #include "driver.h"
  16. #include "vidhrdw/system1.h"
  17. #include "cpu/z80/z80.h"
  18.  
  19.  
  20.  
  21. /* in machine/segacrpt.c */
  22. void regulus_decode(void);
  23. void mrviking_decode(void);
  24. void swat_decode(void);
  25. void flicky_decode(void);
  26. void bullfgtj_decode(void);
  27. void pitfall2_decode(void);
  28. void nprinces_decode(void);
  29. void seganinj_decode(void);
  30. void imsorry_decode(void);
  31. void teddybb_decode(void);
  32. void hvymetal_decode(void);
  33. void myheroj_decode(void);
  34. void fdwarrio_decode(void);
  35. void wboy3_decode(void);
  36. void wboy4_decode(void);
  37. void gardia_decode(void);
  38.  
  39.  
  40.  
  41. static void system1_init_machine(void)
  42. {
  43.     /* skip the long IC CHECK in Teddyboy Blues and Choplifter */
  44.     /* this is not a ROM patch, the game checks a RAM location */
  45.     /* before doing the test */
  46.     memory_region(REGION_CPU1)[0xeffe] = 0x4f;
  47.     memory_region(REGION_CPU1)[0xefff] = 0x4b;
  48.  
  49.     system1_define_sprite_pixelmode(system1_SPRITE_PIXEL_MODE1);
  50.     system1_define_background_memory(system1_BACKGROUND_MEMORY_SINGLE);
  51. }
  52.  
  53. static void chplft_init_machine(void)
  54. {
  55.     /* skip the long IC CHECK in Teddyboy Blues and Choplifter */
  56.     /* this is not a ROM patch, the game checks a RAM location */
  57.     /* before doing the test */
  58.     memory_region(REGION_CPU1)[0xeffe] = 0x4f;
  59.     memory_region(REGION_CPU1)[0xefff] = 0x4b;
  60.  
  61.     system1_define_sprite_pixelmode(system1_SPRITE_PIXEL_MODE2);
  62.     system1_define_background_memory(system1_BACKGROUND_MEMORY_SINGLE);
  63. }
  64.  
  65. static void wbml_init_machine(void)
  66. {
  67.     /* skip the long IC CHECK in Teddyboy Blues and Choplifter */
  68.     /* this is not a ROM patch, the game checks a RAM location */
  69.     /* before doing the test */
  70.     memory_region(REGION_CPU1)[0xeffe] = 0x4f;
  71.     memory_region(REGION_CPU1)[0xefff] = 0x4b;
  72.  
  73.     system1_define_sprite_pixelmode(system1_SPRITE_PIXEL_MODE2);
  74.     system1_define_background_memory(system1_BACKGROUND_MEMORY_BANKED);
  75. }
  76.  
  77.  
  78. static int bankswitch;
  79.  
  80. READ_HANDLER( wbml_bankswitch_r )
  81. {
  82.     return bankswitch;
  83. }
  84.  
  85. WRITE_HANDLER( hvymetal_bankswitch_w )
  86. {
  87.     int bankaddress;
  88.     unsigned char *rom = memory_region(REGION_CPU1);
  89.     int diff = memory_region_length(REGION_CPU1) / 2;
  90.  
  91.  
  92.     /* patch out the obnoxiously long startup RAM tests */
  93.     rom[0x4a55 + diff] = 0xc3;
  94.     rom[0x4a56] = 0xb6;
  95.     rom[0x4a57] = 0x4a;
  96.  
  97.     bankaddress = 0x10000 + (((data & 0x04)>>2) * 0x4000) + (((data & 0x40)>>5) * 0x4000);
  98.     cpu_setbank(1,&rom[bankaddress]);
  99.  
  100.     bankswitch = data;
  101. }
  102.  
  103. WRITE_HANDLER( brain_bankswitch_w )
  104. {
  105.     int bankaddress;
  106.     unsigned char *rom = memory_region(REGION_CPU1);
  107.  
  108.  
  109.     bankaddress = 0x10000 + (((data & 0x04)>>2) * 0x4000) + (((data & 0x40)>>5) * 0x4000);
  110.     cpu_setbank(1,&rom[bankaddress]);
  111.  
  112.     bankswitch = data;
  113. }
  114.  
  115. WRITE_HANDLER( chplft_bankswitch_w )
  116. {
  117.     int bankaddress;
  118.     unsigned char *rom = memory_region(REGION_CPU1);
  119.  
  120.  
  121.     bankaddress = 0x10000 + (((data & 0x0c)>>2) * 0x4000);
  122.     cpu_setbank(1,&rom[bankaddress]);
  123.  
  124.     bankswitch = data;
  125. }
  126.  
  127. WRITE_HANDLER( system1_soundport_w )
  128. {
  129.     soundlatch_w(0,data);
  130.     cpu_cause_interrupt(1,Z80_NMI_INT);
  131.     /* spin for a while to let the Z80 read the command (fixes hanging sound in Regulus) */
  132.     cpu_spinuntil_time(TIME_IN_USEC(50));
  133. }
  134.  
  135.  
  136.  
  137. static struct MemoryReadAddress readmem[] =
  138. {
  139.     { 0x0000, 0xbfff, MRA_ROM },
  140.     { 0xc000, 0xefff, MRA_RAM },
  141.     { 0xf020, 0xf03f, MRA_RAM },
  142.     { 0xf800, 0xfbff, MRA_RAM },
  143.     { -1 } /* end of table */
  144. };
  145.  
  146. static struct MemoryWriteAddress writemem[] =
  147. {
  148.     { 0x0000, 0xbfff, MWA_ROM },
  149.     { 0xc000, 0xcfff, MWA_RAMROM },
  150.     { 0xd000, 0xd1ff, MWA_RAM, &spriteram, &spriteram_size },
  151.     { 0xd800, 0xdfff, system1_paletteram_w, &paletteram },
  152.     { 0xe000, 0xe7ff, system1_backgroundram_w, &system1_backgroundram, &system1_backgroundram_size },
  153.     { 0xe800, 0xeeff, MWA_RAM, &system1_videoram, &system1_videoram_size },
  154.     { 0xefbd, 0xefbd, MWA_RAM, &system1_scroll_y },
  155.     { 0xeffc, 0xeffd, MWA_RAM, &system1_scroll_x },
  156.     { 0xf000, 0xf3ff, system1_background_collisionram_w, &system1_background_collisionram },
  157.     { 0xf800, 0xfbff, system1_sprites_collisionram_w, &system1_sprites_collisionram },
  158.     { -1 } /* end of table */
  159. };
  160.  
  161. static struct MemoryReadAddress brain_readmem[] =
  162. {
  163.     { 0x0000, 0x7fff, MRA_ROM },
  164.     { 0x8000, 0xbfff, MRA_BANK1 },
  165.     { 0xc000, 0xefff, MRA_RAM },
  166.     { 0xf020, 0xf03f, MRA_RAM },
  167.     { 0xf800, 0xfbff, MRA_RAM },
  168.     { -1 } /* end of table */
  169. };
  170.  
  171. static struct MemoryReadAddress wbml_readmem[] =
  172. {
  173.     { 0x0000, 0x7fff, MRA_ROM },
  174.     { 0x8000, 0xbfff, MRA_BANK1 },
  175.     { 0xc000, 0xdfff, MRA_RAM },
  176.     { 0xe000, 0xefff, wbml_paged_videoram_r },
  177.     { 0xf020, 0xf03f, MRA_RAM },
  178.     { 0xf800, 0xfbff, MRA_RAM },
  179.     { -1 } /* end of table */
  180. };
  181.  
  182. static struct MemoryWriteAddress wbml_writemem[] =
  183. {
  184.     { 0x0000, 0xbfff, MWA_ROM },
  185.     { 0xc000, 0xcfff, MWA_RAMROM },
  186.     { 0xd000, 0xd1ff, MWA_RAM, &spriteram, &spriteram_size },
  187.     { 0xd800, 0xddff, system1_paletteram_w, &paletteram },
  188.     { 0xe000, 0xefff, wbml_paged_videoram_w },
  189.     { 0xf000, 0xf3ff, system1_background_collisionram_w, &system1_background_collisionram },
  190.     { 0xf800, 0xfbff, system1_sprites_collisionram_w, &system1_sprites_collisionram },
  191.     { -1 } /* end of table */
  192. };
  193.  
  194. static struct MemoryWriteAddress chplft_writemem[] =
  195. {
  196.     { 0x0000, 0xbfff, MWA_ROM },
  197.     { 0xc000, 0xcfff, MWA_RAMROM },
  198.     { 0xd000, 0xd1ff, MWA_RAM, &spriteram, &spriteram_size },
  199.     { 0xd800, 0xdfff, system1_paletteram_w, &paletteram },
  200.     { 0xe7c0, 0xe7ff, choplifter_scroll_x_w, &system1_scrollx_ram },
  201.     { 0xe000, 0xe7ff, system1_videoram_w, &system1_videoram, &system1_videoram_size },
  202.     { 0xe800, 0xeeff, system1_backgroundram_w, &system1_backgroundram, &system1_backgroundram_size },
  203.     { 0xf000, 0xf3ff, system1_background_collisionram_w, &system1_background_collisionram },
  204.     { 0xf800, 0xfbff, system1_sprites_collisionram_w, &system1_sprites_collisionram },
  205.     { -1 } /* end of table */
  206. };
  207.  
  208. static struct IOReadPort readport[] =
  209. {
  210.     { 0x00, 0x00, input_port_0_r }, /* joy1 */
  211.     { 0x04, 0x04, input_port_1_r }, /* joy2 */
  212.     { 0x08, 0x08, input_port_2_r }, /* coin,start */
  213.     { 0x0c, 0x0c, input_port_3_r }, /* DIP2 */
  214.     { 0x0e, 0x0e, input_port_3_r }, /* DIP2 blckgalb reads it from here */
  215.     { 0x0d, 0x0d, input_port_4_r }, /* DIP1 some games read it from here... */
  216.     { 0x10, 0x10, input_port_4_r }, /* DIP1 ... and some others from here */
  217.                                     /* but there are games which check BOTH! */
  218.     { 0x15, 0x15, system1_videomode_r },
  219.     { 0x19, 0x19, system1_videomode_r },    /* mirror address */
  220.     { -1 }  /* end of table */
  221. };
  222.  
  223. static struct IOWritePort writeport[] =
  224. {
  225.     { 0x14, 0x14, system1_soundport_w },    /* sound commands */
  226.     { 0x15, 0x15, system1_videomode_w },    /* video control and (in some games) bank switching */
  227.     { 0x18, 0x18, system1_soundport_w },    /* mirror address */
  228.     { 0x19, 0x19, system1_videomode_w },    /* mirror address */
  229.     { -1 }  /* end of table */
  230. };
  231.  
  232. static struct IOReadPort wbml_readport[] =
  233. {
  234.     { 0x00, 0x00, input_port_0_r }, /* joy1 */
  235.     { 0x04, 0x04, input_port_1_r }, /* joy2 */
  236.     { 0x08, 0x08, input_port_2_r }, /* coin,start */
  237.     { 0x0c, 0x0c, input_port_3_r }, /* DIP2 */
  238.     { 0x0d, 0x0d, input_port_4_r }, /* DIP1 some games read it from here... */
  239.     { 0x10, 0x10, input_port_4_r }, /* DIP1 ... and some others from here */
  240.                                     /* but there are games which check BOTH! */
  241.     { 0x15, 0x15, wbml_bankswitch_r },
  242.     { 0x16, 0x16, wbml_bg_bankselect_r },
  243.     { 0x19, 0x19, wbml_bankswitch_r },  /* mirror address */
  244.     { -1 }  /* end of table */
  245. };
  246.  
  247. static struct IOWritePort wbml_writeport[] =
  248. {
  249.     { 0x14, 0x14, system1_soundport_w },    /* sound commands */
  250.     { 0x15, 0x15, chplft_bankswitch_w },
  251.     { 0x16, 0x16, wbml_bg_bankselect_w },
  252.     { -1 }  /* end of table */
  253. };
  254.  
  255. static struct IOWritePort hvymetal_writeport[] =
  256. {
  257.     { 0x18, 0x18, system1_soundport_w },    /* sound commands */
  258.     { 0x19, 0x19, hvymetal_bankswitch_w },
  259.     { -1 }  /* end of table */
  260. };
  261.  
  262. static struct IOWritePort brain_writeport[] =
  263. {
  264.     { 0x18, 0x18, system1_soundport_w },    /* sound commands */
  265.     { 0x19, 0x19, brain_bankswitch_w },
  266.     { -1 }  /* end of table */
  267. };
  268.  
  269. static struct IOWritePort chplft_writeport[] =
  270. {
  271.     { 0x14, 0x14, system1_soundport_w },    /* sound commands */
  272.     { 0x15, 0x15, chplft_bankswitch_w },
  273.     { -1 }  /* end of table */
  274. };
  275.  
  276.  
  277. static unsigned char *work_ram;
  278.  
  279. static READ_HANDLER( work_ram_r )
  280. {
  281.     return work_ram[offset];
  282. }
  283.  
  284. static WRITE_HANDLER( work_ram_w )
  285. {
  286.     work_ram[offset] = data;
  287. }
  288.  
  289. static struct MemoryReadAddress sound_readmem[] =
  290. {
  291.     { 0x0000, 0x7fff, MRA_ROM },
  292.     { 0x8000, 0x87ff, work_ram_r },
  293.     { 0x8800, 0x8fff, work_ram_r },
  294.     { 0xe000, 0xe000, soundlatch_r },
  295.     { 0xffff, 0xffff, soundlatch_r },   /* 4D warriors reads also from here - bug? */
  296.     { -1 } /* end of table */
  297. };
  298.  
  299. static struct MemoryWriteAddress sound_writemem[] =
  300. {
  301.     { 0x0000, 0x7fff, MWA_ROM },
  302.     { 0x8000, 0x87ff, work_ram_w, &work_ram },
  303.     { 0x8800, 0x8fff, work_ram_w },
  304.     { 0xa000, 0xa003, SN76496_0_w },    /* Choplifter writes to the four addresses */
  305.     { 0xc000, 0xc003, SN76496_1_w },    /* in sequence */
  306.     { -1 } /* end of table */
  307. };
  308.  
  309.  
  310. #define IN0_PORT \
  311.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) \
  312.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) \
  313.     PORT_BITX(0x04, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) \
  314.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) \
  315.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) \
  316.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) \
  317.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
  318.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  319.  
  320. #define DSW1_PORT \
  321.     PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) \
  322.     PORT_DIPSETTING(    0x07, DEF_STR( 4C_1C ) ) \
  323.     PORT_DIPSETTING(    0x08, DEF_STR( 3C_1C ) ) \
  324.     PORT_DIPSETTING(    0x09, DEF_STR( 2C_1C ) ) \
  325.     PORT_DIPSETTING(    0x05, "2 Coins/1 Credit 5/3 6/4" ) \
  326.     PORT_DIPSETTING(    0x04, "2 Coins/1 Credit 4/3" ) \
  327.     PORT_DIPSETTING(    0x0f, DEF_STR( 1C_1C ) ) \
  328.     PORT_DIPSETTING(    0x03, "1 Coin/1 Credit 5/6" ) \
  329.     PORT_DIPSETTING(    0x02, "1 Coin/1 Credit 4/5" ) \
  330.     PORT_DIPSETTING(    0x01, "1 Coin/1 Credit 2/3" ) \
  331.     PORT_DIPSETTING(    0x06, DEF_STR( 2C_3C ) ) \
  332.     PORT_DIPSETTING(    0x0e, DEF_STR( 1C_2C ) ) \
  333.     PORT_DIPSETTING(    0x0d, DEF_STR( 1C_3C ) ) \
  334.     PORT_DIPSETTING(    0x0c, DEF_STR( 1C_4C ) ) \
  335.     PORT_DIPSETTING(    0x0b, DEF_STR( 1C_5C ) ) \
  336.     PORT_DIPSETTING(    0x0a, DEF_STR( 1C_6C ) ) \
  337. /*  PORT_DIPSETTING(    0x00, "1/1" ) */ \
  338.     PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) \
  339.     PORT_DIPSETTING(    0x70, DEF_STR( 4C_1C ) ) \
  340.     PORT_DIPSETTING(    0x80, DEF_STR( 3C_1C ) ) \
  341.     PORT_DIPSETTING(    0x90, DEF_STR( 2C_1C ) ) \
  342.     PORT_DIPSETTING(    0x50, "2 Coins/1 Credit 5/3 6/4" ) \
  343.     PORT_DIPSETTING(    0x40, "2 Coins/1 Credit 4/3" ) \
  344.     PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) ) \
  345.     PORT_DIPSETTING(    0x30, "1 Coin/1 Credit 5/6" ) \
  346.     PORT_DIPSETTING(    0x20, "1 Coin/1 Credit 4/5" ) \
  347.     PORT_DIPSETTING(    0x10, "1 Coin/1 Credit 2/3" ) \
  348.     PORT_DIPSETTING(    0x60, DEF_STR( 2C_3C ) ) \
  349.     PORT_DIPSETTING(    0xe0, DEF_STR( 1C_2C ) ) \
  350.     PORT_DIPSETTING(    0xd0, DEF_STR( 1C_3C ) ) \
  351.     PORT_DIPSETTING(    0xc0, DEF_STR( 1C_4C ) ) \
  352.     PORT_DIPSETTING(    0xb0, DEF_STR( 1C_5C ) ) \
  353.     PORT_DIPSETTING(    0xa0, DEF_STR( 1C_6C ) )
  354. /*  PORT_DIPSETTING(    0x00, "1/1" ) */
  355.  
  356.  
  357. INPUT_PORTS_START( starjack )
  358.     PORT_START  /* IN1 */
  359.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  360.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  361.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  362.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  363.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  364.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  365.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  366.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  367.  
  368.     PORT_START  /* IN2 */
  369.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  370.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  371.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  372.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  373.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  374.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  375.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  376.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  377.  
  378.     PORT_START  /* IN0 */
  379.     IN0_PORT
  380.  
  381.     PORT_START      /* DSW1 */
  382.     DSW1_PORT
  383.  
  384.     PORT_START  /* DSW0 */
  385.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  386.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  387.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  388.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  389.     PORT_DIPSETTING(    0x06, "3" )
  390.     PORT_DIPSETTING(    0x04, "4" )
  391.     PORT_DIPSETTING(    0x02, "5" )
  392.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  393.     PORT_DIPNAME( 0x38, 0x30, DEF_STR (Bonus_Life ) )
  394.     PORT_DIPSETTING(    0x30, "20000 50000" )
  395.     PORT_DIPSETTING(    0x20, "30000 70000" )
  396.     PORT_DIPSETTING(    0x10, "40000 90000" )
  397.     PORT_DIPSETTING(    0x00, "50000 110000" )
  398.     PORT_DIPSETTING(    0x38, "20000" )
  399.     PORT_DIPSETTING(    0x28, "30000" )
  400.     PORT_DIPSETTING(    0x18, "40000" )
  401.     PORT_DIPSETTING(    0x08, "50000" )
  402.     PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
  403.     PORT_DIPSETTING(    0xc0, "Easy" )
  404.     PORT_DIPSETTING(    0x80, "Medium" )
  405.     PORT_DIPSETTING(    0x40, "Hard" )
  406.     PORT_DIPSETTING(    0x00, "Hardest" )
  407. INPUT_PORTS_END
  408.  
  409. INPUT_PORTS_START( starjacs )
  410.     PORT_START  /* IN1 */
  411.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  412.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  413.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  414.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  415.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  416.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  417.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  418.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  419.  
  420.     PORT_START  /* IN2 */
  421.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  422.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  423.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  424.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  425.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  426.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  427.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  428.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  429.  
  430.     PORT_START  /* IN0 */
  431.     IN0_PORT
  432.  
  433.     PORT_START      /* DSW1 */
  434.     DSW1_PORT
  435.  
  436.     PORT_START  /* DSW0 */
  437.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  438.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  439.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  440.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  441.     PORT_DIPSETTING(    0x06, "3" )
  442.     PORT_DIPSETTING(    0x04, "4" )
  443.     PORT_DIPSETTING(    0x02, "5" )
  444.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  445.     PORT_DIPNAME( 0x08, 0x08, "Ship" )
  446.     PORT_DIPSETTING(    0x08, "Single" )
  447.     PORT_DIPSETTING(    0x00, "Multi" )
  448.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  449.     PORT_DIPSETTING(    0x30, "30000 70000" )
  450.     PORT_DIPSETTING(    0x20, "40000 90000" )
  451.     PORT_DIPSETTING(    0x10, "50000 110000" )
  452.     PORT_DIPSETTING(    0x00, "60000 130000" )
  453.     PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
  454.     PORT_DIPSETTING(    0xc0, "Easy" )
  455.     PORT_DIPSETTING(    0x80, "Medium" )
  456.     PORT_DIPSETTING(    0x40, "Hard" )
  457.     PORT_DIPSETTING(    0x00, "Hardest" )
  458. INPUT_PORTS_END
  459.  
  460. INPUT_PORTS_START( regulus )
  461.     PORT_START  /* IN1 */
  462.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  463.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  464.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  465.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  466.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  467.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  468.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  469.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  470.  
  471.     PORT_START  /* IN2 */
  472.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  473.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  474.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  475.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  476.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  477.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  478.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  479.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  480.  
  481.     PORT_START  /* IN0 */
  482.     IN0_PORT
  483.  
  484.     PORT_START      /* DSW1 */
  485.     DSW1_PORT
  486.  
  487.     PORT_START  /* DSW0 */
  488.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  489.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  490.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  491.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  492.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  493.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  494.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  495.     PORT_DIPSETTING(    0x0c, "3" )
  496.     PORT_DIPSETTING(    0x08, "4" )
  497.     PORT_DIPSETTING(    0x04, "5" )
  498.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  499.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  500.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  501.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  502.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  503.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  504.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  505.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  506.     PORT_DIPSETTING(    0x40, "Easy" )
  507.     PORT_DIPSETTING(    0x00, "Hard" )
  508.     PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
  509.     PORT_DIPSETTING(    0x80, DEF_STR( No ) )
  510.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  511. INPUT_PORTS_END
  512.  
  513. INPUT_PORTS_START( upndown )
  514.     PORT_START  /* IN1 */
  515.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  516.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  517.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  518.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  519.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  520.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  521.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  522.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  523.  
  524.     PORT_START  /* IN2 */
  525.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  526.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  527.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  528.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  529.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  530.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  531.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  532.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  533.  
  534.     PORT_START  /* IN0 */
  535.     IN0_PORT
  536.  
  537.     PORT_START      /* DSW1 */
  538.     DSW1_PORT
  539.  
  540.     PORT_START  /* DSW0 */
  541.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  542.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  543.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  544.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  545.     PORT_DIPSETTING(    0x06, "3" )
  546.     PORT_DIPSETTING(    0x04, "4" )
  547.     PORT_DIPSETTING(    0x02, "5" )
  548.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  549.     PORT_DIPNAME( 0x38, 0x38, DEF_STR( Bonus_Life ) )
  550.     PORT_DIPSETTING(    0x38, "10000" )
  551.     PORT_DIPSETTING(    0x30, "20000" )
  552.     PORT_DIPSETTING(    0x28, "30000" )
  553.     PORT_DIPSETTING(    0x20, "40000" )
  554.     PORT_DIPSETTING(    0x18, "50000" )
  555.     PORT_DIPSETTING(    0x10, "60000" )
  556.     PORT_DIPSETTING(    0x08, "70000" )
  557.     PORT_DIPSETTING(    0x00, "None" )
  558.     PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
  559.     PORT_DIPSETTING(    0xc0, "Easy" )
  560.     PORT_DIPSETTING(    0x80, "Medium" )
  561.     PORT_DIPSETTING(    0x40, "Hard" )
  562.     PORT_DIPSETTING(    0x00, "Hardest" )
  563. INPUT_PORTS_END
  564.  
  565. INPUT_PORTS_START( mrviking )
  566.     PORT_START  /* IN1 */
  567.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  568.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  569.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  570.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  571.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  572.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  573.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  574.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  575.  
  576.     PORT_START  /* IN2 */
  577.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  578.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  579.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  580.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  581.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  582.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  583.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  584.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  585.  
  586.     PORT_START  /* IN0 */
  587.     IN0_PORT
  588.  
  589.     PORT_START      /* DSW1 */
  590.     DSW1_PORT
  591.  
  592.     PORT_START  /* DSW0 */
  593.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  594.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  595.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  596.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  597.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  598.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  599.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  600.     PORT_DIPSETTING(    0x0c, "3" )
  601.     PORT_DIPSETTING(    0x08, "4" )
  602.     PORT_DIPSETTING(    0x04, "5" )
  603.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  604.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  605.     PORT_DIPSETTING(    0x30, "10000 30000 60000" )
  606.     PORT_DIPSETTING(    0x20, "20000 40000 70000" )
  607.     PORT_DIPSETTING(    0x10, "30000 60000 90000" )
  608.     PORT_DIPSETTING(    0x00, "40000 70000 100000" )
  609.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  610.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  611.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  612.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Difficulty ) )
  613.     PORT_DIPSETTING(    0x80, "Easy" )
  614.     PORT_DIPSETTING(    0x00, "Hard" )
  615. INPUT_PORTS_END
  616.  
  617. INPUT_PORTS_START( swat )
  618.     PORT_START  /* IN1 */
  619.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  620.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  621.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  622.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  623.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
  624.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
  625.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
  626.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
  627.  
  628.     PORT_START  /* IN2 */
  629.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  630.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  631.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  632.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  633.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
  634.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
  635.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
  636.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
  637.  
  638.     PORT_START  /* IN0 */
  639.     IN0_PORT
  640.  
  641.     PORT_START      /* DSW1 */
  642.     DSW1_PORT
  643.  
  644.     PORT_START  /* DSW0 */
  645.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  646.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  647.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  648.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  649.     PORT_DIPSETTING(    0x06, "3" )
  650.     PORT_DIPSETTING(    0x04, "4" )
  651.     PORT_DIPSETTING(    0x02, "5" )
  652.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  653.     PORT_DIPNAME( 0x38, 0x38, DEF_STR( Bonus_Life ) )
  654.     PORT_DIPSETTING(    0x38, "30000" )
  655.     PORT_DIPSETTING(    0x30, "40000" )
  656.     PORT_DIPSETTING(    0x28, "50000" )
  657.     PORT_DIPSETTING(    0x20, "60000" )
  658.     PORT_DIPSETTING(    0x18, "70000" )
  659.     PORT_DIPSETTING(    0x10, "80000" )
  660.     PORT_DIPSETTING(    0x08, "90000" )
  661.     PORT_DIPSETTING(    0x00, "None" )
  662.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  663.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  664.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  665.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  666.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  667.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  668. INPUT_PORTS_END
  669.  
  670. INPUT_PORTS_START( flicky )
  671.     PORT_START  /* IN1 */
  672.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  673.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  674.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  675.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  676.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  677.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  678.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  679.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY )
  680.  
  681.     PORT_START  /* IN2 */
  682.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  683.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  684.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  685.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  686.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  687.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  688.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  689.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  690.  
  691.     PORT_START  /* IN0 */
  692.     IN0_PORT
  693.  
  694.     PORT_START      /* DSW1 */
  695.     DSW1_PORT
  696.  
  697.     PORT_START  /* DSW0 */
  698.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  699.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  700.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  701.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  702.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  703.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  704.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  705.     PORT_DIPSETTING(    0x0c, "3" )
  706.     PORT_DIPSETTING(    0x08, "4" )
  707.     PORT_DIPSETTING(    0x04, "5" )
  708.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  709.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  710.     PORT_DIPSETTING(    0x30, "30000 80000 160000" )
  711.     PORT_DIPSETTING(    0x20, "30000 100000 200000" )
  712.     PORT_DIPSETTING(    0x10, "40000 120000 240000" )
  713.     PORT_DIPSETTING(    0x00, "40000 140000 280000" )
  714.     PORT_DIPNAME( 0xc0, 0xc0, "Difficulty?" )
  715.     PORT_DIPSETTING(    0xc0, "Easy?" )
  716.     PORT_DIPSETTING(    0x80, "Medium?" )
  717.     PORT_DIPSETTING(    0x40, "Hard?" )
  718.     PORT_DIPSETTING(    0x00, "Hardest?" )
  719. INPUT_PORTS_END
  720.  
  721. INPUT_PORTS_START( bullfgtj )
  722.     PORT_START  /* IN1 */
  723.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  724.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  725.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  726.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  727.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  728.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  729.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  730.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  731.  
  732.     PORT_START  /* IN2 */
  733.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  734.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  735.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  736.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  737.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  738.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  739.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  740.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  741.  
  742.     PORT_START  /* IN0 */
  743.     IN0_PORT
  744.  
  745.     PORT_START      /* DSW1 */
  746.     DSW1_PORT
  747.  
  748.     PORT_START  /* DSW0 */
  749.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  750.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  751.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  752.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  753.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  754.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  755.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  756.     PORT_DIPSETTING(    0x0c, "3" )
  757.     PORT_DIPSETTING(    0x08, "4" )
  758.     PORT_DIPSETTING(    0x04, "5" )
  759.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  760.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  761.     PORT_DIPSETTING(    0x30, "30000" )
  762.     PORT_DIPSETTING(    0x20, "50000" )
  763.     PORT_DIPSETTING(    0x10, "70000" )
  764.     PORT_DIPSETTING(    0x00, "None" )
  765.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  766.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  767.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  768.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  769.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  770.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  771. INPUT_PORTS_END
  772.  
  773. INPUT_PORTS_START( pitfall2 )
  774.     PORT_START  /* IN1 */
  775.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  776.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  777.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  778.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  779.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  780.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  781.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  782.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  783.  
  784.     PORT_START  /* IN2 */
  785.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  786.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  787.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  788.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  789.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  790.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  791.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  792.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  793.  
  794.     PORT_START  /* IN0 */
  795.     IN0_PORT
  796.  
  797.     PORT_START      /* DSW1 */
  798.     DSW1_PORT
  799.  
  800.     PORT_START  /* DSW0 */
  801.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  802.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  803.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  804.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  805.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  806.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  807.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  808.     PORT_DIPSETTING(    0x0c, "3" )
  809.     PORT_DIPSETTING(    0x08, "4" )
  810.     PORT_DIPSETTING(    0x04, "5" )
  811.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  812.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
  813.     PORT_DIPSETTING(    0x10, "20000 50000" )
  814.     PORT_DIPSETTING(    0x00, "30000 70000" )
  815.     PORT_DIPNAME( 0x20, 0x00, "Allow Continue" )
  816.     PORT_DIPSETTING(    0x20, DEF_STR( No ) )
  817.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  818.     PORT_DIPNAME( 0x40, 0x40, "Time" )
  819.     PORT_DIPSETTING(    0x00, "2 Minutes" )
  820.     PORT_DIPSETTING(    0x40, "3 Minutes" )
  821.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  822.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  823.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  824. INPUT_PORTS_END
  825.  
  826. INPUT_PORTS_START( pitfallu )
  827.     PORT_START  /* IN1 */
  828.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  829.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  830.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  831.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  832.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  833.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  834.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  835.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  836.  
  837.     PORT_START  /* IN2 */
  838.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  839.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  840.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  841.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  842.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  843.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  844.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  845.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  846.  
  847.     PORT_START  /* IN0 */
  848.     IN0_PORT
  849.  
  850.     PORT_START      /* DSW1 */
  851.     DSW1_PORT
  852.  
  853.     PORT_START  /* DSW0 */
  854.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  855.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  856.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  857.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  858.     PORT_DIPSETTING(    0x06, "3" )
  859.     PORT_DIPSETTING(    0x04, "4" )
  860.     PORT_DIPSETTING(    0x02, "5" )
  861.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  862.     PORT_DIPNAME( 0x18, 0x18, "Starting Stage" )
  863.     PORT_DIPSETTING(    0x18, "1" )
  864.     PORT_DIPSETTING(    0x10, "2" )
  865.     PORT_DIPSETTING(    0x08, "3" )
  866.     PORT_DIPSETTING(    0x00, "4" )
  867.     PORT_DIPNAME( 0x20, 0x00, "Allow Continue" )
  868.     PORT_DIPSETTING(    0x20, DEF_STR( No ) )
  869.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  870.     PORT_DIPNAME( 0x40, 0x40, "Time" )
  871.     PORT_DIPSETTING(    0x00, "2 Minutes" )
  872.     PORT_DIPSETTING(    0x40, "3 Minutes" )
  873.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  874.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  875.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  876. INPUT_PORTS_END
  877.  
  878. INPUT_PORTS_START( seganinj )
  879.     PORT_START  /* IN1 */
  880.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 )
  881.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  882.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  883.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  884.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  885.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  886.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  887.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  888.  
  889.     PORT_START  /* IN2 */
  890.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_COCKTAIL )
  891.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  892.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  893.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  894.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  895.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  896.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  897.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  898.  
  899.     PORT_START  /* IN0 */
  900.     IN0_PORT
  901.  
  902.     PORT_START      /* DSW1 */
  903.     DSW1_PORT
  904.  
  905.     PORT_START  /* DSW0 */
  906.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  907.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  908.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  909.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  910.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  911.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  912.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  913.     PORT_DIPSETTING(    0x0c, "3" )
  914.     PORT_DIPSETTING(    0x08, "4" )
  915.     PORT_DIPSETTING(    0x04, "5" )
  916.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  917.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
  918.     PORT_DIPSETTING(    0x10, "20k 70k 120k 170k" )
  919.     PORT_DIPSETTING(    0x00, "60k 100k 160k 200k" )
  920.     PORT_DIPNAME( 0x20, 0x00, "Allow Continue" )
  921.     PORT_DIPSETTING(    0x20, DEF_STR( No ) )
  922.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  923.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  924.     PORT_DIPSETTING(    0x40, "Easy" )
  925.     PORT_DIPSETTING(    0x00, "Hard" )
  926.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  927.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  928.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  929. INPUT_PORTS_END
  930.  
  931. INPUT_PORTS_START( imsorry )
  932.     PORT_START  /* IN1 */
  933.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  934.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  935.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  936.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  937.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  938.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  939.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  940.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  941.  
  942.     PORT_START  /* IN2 */
  943.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  944.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  945.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  946.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  947.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  948.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  949.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  950.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  951.  
  952.     PORT_START  /* IN0 */
  953.     IN0_PORT
  954.  
  955.     PORT_START      /* DSW1 */
  956.     DSW1_PORT
  957.  
  958.     PORT_START  /* DSW0 */
  959.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  960.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  961.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  962.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  963.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  964.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  965.     PORT_DIPNAME( 0x0C, 0x0C, DEF_STR( Lives ) )
  966.     PORT_DIPSETTING(    0x0C, "3" )
  967.     PORT_DIPSETTING(    0x08, "4" )
  968.     PORT_DIPSETTING(    0x04, "5" )
  969.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  970.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  971.     PORT_DIPSETTING(    0x30, "30000" )
  972.     PORT_DIPSETTING(    0x20, "40000" )
  973.     PORT_DIPSETTING(    0x10, "50000" )
  974.     PORT_DIPSETTING(    0x00, "None" )
  975.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  976.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  977.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  978.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  979.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  980.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  981. INPUT_PORTS_END
  982.  
  983. INPUT_PORTS_START( teddybb )
  984.     PORT_START  /* IN1 */
  985.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  986.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  987.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  988.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  989.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  990.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  991.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  992.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  993.  
  994.     PORT_START  /* IN2 */
  995.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  996.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  997.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  998.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  999.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1000.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1001.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1002.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1003.  
  1004.     PORT_START  /* IN0 */
  1005.     IN0_PORT
  1006.  
  1007.     PORT_START      /* DSW1 */
  1008.     DSW1_PORT
  1009.  
  1010.     PORT_START  /* DSW0 */
  1011.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1012.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1013.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1014.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
  1015.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1016.     PORT_DIPSETTING(    0x02, DEF_STR( On ) )
  1017.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1018.     PORT_DIPSETTING(    0x08, "2" )
  1019.     PORT_DIPSETTING(    0x0c, "3" )
  1020.     PORT_DIPSETTING(    0x04, "4" )
  1021.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1022.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  1023.     PORT_DIPSETTING(    0x30, "100k 400k" )
  1024.     PORT_DIPSETTING(    0x20, "200k 600k" )
  1025.     PORT_DIPSETTING(    0x10, "400k 800k" )
  1026.     PORT_DIPSETTING(    0x00, "600k" )
  1027.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1028.     PORT_DIPSETTING(    0x40, "Easy" )
  1029.     PORT_DIPSETTING(    0x00, "Hard" )
  1030.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1031.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1032.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1033. INPUT_PORTS_END
  1034.  
  1035. INPUT_PORTS_START( hvymetal )
  1036.     PORT_START  /* IN1 */
  1037.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1038.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1039.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1040.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1041.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1042.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1043.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1044.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1045.  
  1046.     PORT_START  /* IN2 */
  1047.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1048.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1049.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1050.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1051.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1052.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1053.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1054.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1055.  
  1056.     PORT_START  /* IN0 */
  1057.     IN0_PORT
  1058.  
  1059.     PORT_START      /* DSW1 */
  1060.     DSW1_PORT
  1061.  
  1062.     PORT_START  /* DSW1 */
  1063.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1064.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1065.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1066.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1067.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1068.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1069.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1070.     PORT_DIPSETTING(    0x0c, "3" )
  1071.     PORT_DIPSETTING(    0x08, "4" )
  1072.     PORT_DIPSETTING(    0x04, "5" )
  1073.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1074.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  1075.     PORT_DIPSETTING(    0x30, "50000 100000" )
  1076.     PORT_DIPSETTING(    0x20, "60000 120000" )
  1077.     PORT_DIPSETTING(    0x10, "70000 150000" )
  1078.     PORT_DIPSETTING(    0x00, "100000" )
  1079.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1080.     PORT_DIPSETTING(    0x40, "Easy" )
  1081.     PORT_DIPSETTING(    0x00, "Hard" )
  1082.     PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
  1083.     PORT_DIPSETTING(    0x80, DEF_STR( No ) )
  1084.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  1085. INPUT_PORTS_END
  1086.  
  1087. INPUT_PORTS_START( myhero )
  1088.     PORT_START  /* IN1 */
  1089.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1090.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1091.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1092.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1093.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1094.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1095.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1096.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1097.  
  1098.     PORT_START  /* IN2 */
  1099.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1100.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1101.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1102.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1103.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1104.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1105.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1106.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1107.  
  1108.     PORT_START  /* IN0 */
  1109.     IN0_PORT
  1110.  
  1111.     PORT_START      /* DSW1 */
  1112.     DSW1_PORT
  1113.  
  1114.     PORT_START  /* DSW0 */
  1115.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1116.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1117.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1118.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1119.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1120.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1121.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1122.     PORT_DIPSETTING(    0x0c, "3" )
  1123.     PORT_DIPSETTING(    0x08, "4" )
  1124.     PORT_DIPSETTING(    0x04, "5" )
  1125.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1126.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  1127.     PORT_DIPSETTING(    0x30, "30000" )
  1128.     PORT_DIPSETTING(    0x20, "50000" )
  1129.     PORT_DIPSETTING(    0x10, "70000" )
  1130.     PORT_DIPSETTING(    0x00, "90000" )
  1131.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1132.     PORT_DIPSETTING(    0x40, "Easy" )
  1133.     PORT_DIPSETTING(    0x00, "Hard" )
  1134.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1135.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1136.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1137. INPUT_PORTS_END
  1138.  
  1139. INPUT_PORTS_START( chplft )
  1140.     PORT_START  /* IN1 */
  1141.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1142.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1143.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1144.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1145.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1146.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1147.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1148.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1149.  
  1150.     PORT_START  /* IN2 */
  1151.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1152.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1153.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1154.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1155.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1156.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1157.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1158.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1159.  
  1160.     PORT_START  /* IN0 */
  1161.     IN0_PORT
  1162.  
  1163.     PORT_START  /* DSW1 */
  1164.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1165.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1166.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1167.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1168.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1169.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1170.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1171.     PORT_DIPSETTING(    0x08, "2" )
  1172.     PORT_DIPSETTING(    0x0c, "3" )
  1173.     PORT_DIPSETTING(    0x04, "4" )
  1174.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1175.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1176.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1177.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1178.     PORT_DIPNAME( 0x20, 0x00, DEF_STR( Bonus_Life ) )
  1179.     PORT_DIPSETTING(    0x00, "20000 70000" )
  1180.     PORT_DIPSETTING(    0x20, "50000 100000" )
  1181.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) )
  1182.     PORT_DIPSETTING(    0x00, "Easy" )
  1183.     PORT_DIPSETTING(    0x40, "Hard" )
  1184.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1185.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1186.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1187.  
  1188.     PORT_START      /* DSW0 */
  1189.     DSW1_PORT
  1190. INPUT_PORTS_END
  1191.  
  1192. INPUT_PORTS_START( 4dwarrio )
  1193.     PORT_START  /* IN1 */
  1194.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1195.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1196.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1197.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1198.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1199.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1200.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1201.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1202.  
  1203.     PORT_START  /* IN2 */
  1204.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1205.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1206.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1207.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1208.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1209.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1210.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1211.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1212.  
  1213.     PORT_START  /* IN0 */
  1214.     IN0_PORT
  1215.  
  1216.     PORT_START      /* DSW1 */
  1217.     DSW1_PORT
  1218.  
  1219.     PORT_START  /* DSW0 */
  1220.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1221.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1222.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1223.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  1224.     PORT_DIPSETTING(    0x06, "3" )
  1225.     PORT_DIPSETTING(    0x04, "4" )
  1226.     PORT_DIPSETTING(    0x02, "5" )
  1227.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1228.     PORT_DIPNAME( 0x38, 0x38, DEF_STR( Bonus_Life ) )
  1229.     PORT_DIPSETTING(    0x38, "30000" )
  1230.     PORT_DIPSETTING(    0x30, "40000" )
  1231.     PORT_DIPSETTING(    0x28, "50000" )
  1232.     PORT_DIPSETTING(    0x20, "60000" )
  1233.     PORT_DIPSETTING(    0x18, "70000" )
  1234.     PORT_DIPSETTING(    0x10, "80000" )
  1235.     PORT_DIPSETTING(    0x08, "90000" )
  1236.     PORT_DIPSETTING(    0x00, "None" )
  1237.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1238.     PORT_DIPSETTING(    0x40, "Easy" )
  1239.     PORT_DIPSETTING(    0x00, "Hard" )
  1240.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1241.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1242.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1243. INPUT_PORTS_END
  1244.  
  1245. INPUT_PORTS_START( brain )
  1246.     PORT_START  /* IN1 */
  1247.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1248.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1249.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1250.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1251.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1252.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1253.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1254.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1255.  
  1256.     PORT_START  /* IN2 */
  1257.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1258.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1259.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1260.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1261.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1262.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1263.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1264.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1265.  
  1266.     PORT_START  /* IN0 */
  1267.     IN0_PORT
  1268.  
  1269.     PORT_START      /* DSW1 */
  1270.     DSW1_PORT
  1271.  
  1272.     PORT_START  /* DSW0 */
  1273.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1274.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1275.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1276.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1277.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1278.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1279.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1280.     PORT_DIPSETTING(    0x0c, "3" )
  1281.     PORT_DIPSETTING(    0x08, "4" )
  1282.     PORT_DIPSETTING(    0x04, "5" )
  1283.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1284.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1285.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1286.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1287.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1288.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1289.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1290.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1291.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1292.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1293.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1294.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1295.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1296. INPUT_PORTS_END
  1297.  
  1298. INPUT_PORTS_START( wboy )
  1299.     PORT_START  /* IN1 */
  1300.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1301.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1302.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1303.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1304.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1305.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1306.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  1307.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY )
  1308.  
  1309.     PORT_START  /* IN2 */
  1310.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1311.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1312.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1313.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1314.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1315.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1316.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  1317.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY | IPF_COCKTAIL )
  1318.  
  1319.     PORT_START  /* IN0 */
  1320.     IN0_PORT
  1321.  
  1322.     PORT_START      /* DSW1 */
  1323.     DSW1_PORT
  1324.  
  1325.     PORT_START  /* DSW0 */
  1326.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1327.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1328.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1329.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1330.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1331.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1332.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1333.     PORT_DIPSETTING(    0x0c, "3" )
  1334.     PORT_DIPSETTING(    0x08, "4" )
  1335.     PORT_DIPSETTING(    0x04, "5" )
  1336.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1337.     PORT_DIPNAME( 0x10, 0x00, DEF_STR( Bonus_Life ) )
  1338.     PORT_DIPSETTING(    0x10, "30k 100k 170k 240k" )
  1339.     PORT_DIPSETTING(    0x00, "30k 120k 210k 300k" )
  1340.     PORT_DIPNAME( 0x20, 0x20, "Allow Continue" )
  1341.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1342.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1343.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1344.     PORT_DIPSETTING(    0x40, "Easy" )
  1345.     PORT_DIPSETTING(    0x00, "Hard" )
  1346.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1347.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1348.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1349. INPUT_PORTS_END
  1350.  
  1351. /* same as wboy, additional Energy Consumption switch */
  1352. INPUT_PORTS_START( wbdeluxe )
  1353.     PORT_START  /* IN1 */
  1354.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Has to be 0 otherwise the game resets */
  1355.                                                 /* if you die after level 1. */
  1356.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1357.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1358.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1359.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1360.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1361.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  1362.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY )
  1363.  
  1364.     PORT_START  /* IN2 */
  1365.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1366.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1367.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1368.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1369.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1370.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1371.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  1372.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY | IPF_COCKTAIL )
  1373.  
  1374.     PORT_START  /* IN0 */
  1375.     IN0_PORT
  1376.  
  1377.     PORT_START      /* DSW1 */
  1378.     DSW1_PORT
  1379.  
  1380.     PORT_START  /* DSW0 */
  1381.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1382.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1383.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1384.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1385.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1386.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1387.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1388.     PORT_DIPSETTING(    0x0c, "3" )
  1389.     PORT_DIPSETTING(    0x08, "4" )
  1390.     PORT_DIPSETTING(    0x04, "5" )
  1391.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
  1392.     PORT_DIPNAME( 0x10, 0x00, DEF_STR( Bonus_Life ) )
  1393.     PORT_DIPSETTING(    0x10, "30k 100k 170k 240k" )
  1394.     PORT_DIPSETTING(    0x00, "30k 120k 210k 300k" )
  1395.     PORT_DIPNAME( 0x20, 0x20, "Allow Continue" )
  1396.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1397.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1398.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
  1399.     PORT_DIPSETTING(    0x40, "Easy" )
  1400.     PORT_DIPSETTING(    0x00, "Hard" )
  1401.     PORT_DIPNAME( 0x80, 0x00, "Energy Consumption" )
  1402.     PORT_DIPSETTING(    0x00, "Slow" )
  1403.     PORT_DIPSETTING(    0x80, "Fast" )
  1404. INPUT_PORTS_END
  1405.  
  1406. INPUT_PORTS_START( wboyu )
  1407.     PORT_START  /* IN1 */
  1408.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1409.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1410.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1411.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1412.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1413.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1414.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  1415.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY )
  1416.  
  1417.     PORT_START  /* IN2 */
  1418.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1419.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1420.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1421.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1422.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* down - unused */
  1423.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* up - unused */
  1424.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  1425.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_2WAY | IPF_COCKTAIL )
  1426.  
  1427.     PORT_START  /* IN0 */
  1428.     IN0_PORT
  1429.  
  1430.     PORT_START  /* DSW0 */
  1431.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1432.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1433.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1434.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Lives ) )
  1435.     PORT_DIPSETTING(    0x00, "2" )
  1436.     PORT_DIPSETTING(    0x06, "3" )
  1437.     PORT_DIPSETTING(    0x04, "4" )
  1438.     PORT_DIPSETTING(    0x02, "5" )
  1439.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1440.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1441.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1442.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1443.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1444.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1445.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1446.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1447.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1448.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
  1449.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1450.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1451.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1452.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1453.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1454.  
  1455.     PORT_START      /* DSW1 */
  1456.     PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
  1457.     PORT_DIPSETTING(    0x04, DEF_STR( 4C_1C ) )
  1458.     PORT_DIPSETTING(    0x05, DEF_STR( 3C_1C ) )
  1459.     PORT_DIPSETTING(    0x00, DEF_STR( 4C_2C ) )
  1460.     PORT_DIPSETTING(    0x06, DEF_STR( 2C_1C ) )
  1461.     PORT_DIPSETTING(    0x01, DEF_STR( 3C_2C ) )
  1462.     PORT_DIPSETTING(    0x02, DEF_STR( 2C_2C ) )
  1463.     PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
  1464.     PORT_DIPSETTING(    0x03, DEF_STR( 1C_2C ) )
  1465.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1466.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1467.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1468.     PORT_DIPNAME( 0x10, 0x10, "Allow Continue" )
  1469.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1470.     PORT_DIPSETTING(    0x10, DEF_STR( Yes ) )
  1471.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1472.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1473.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1474.     PORT_DIPNAME( 0xc0, 0xc0, "Mode" )
  1475.     PORT_DIPSETTING(    0xc0, "Normal Game" )
  1476.     PORT_DIPSETTING(    0x80, DEF_STR( Free_Play ) )
  1477.     PORT_DIPSETTING(    0x40, "Test Mode" )
  1478.     PORT_DIPSETTING(    0x00, "Endless Game" )
  1479. INPUT_PORTS_END
  1480.  
  1481. INPUT_PORTS_START( blockgal )
  1482.     PORT_START  /* IN1 */
  1483.     PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 60, 15, 0, 0)
  1484.  
  1485.     PORT_START  /* IN2 */
  1486.     PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_COCKTAIL, 60, 15, 0, 0)
  1487.  
  1488.     PORT_START  /* IN0 */
  1489.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1490.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1491.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  1492.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
  1493.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
  1494.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
  1495.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1496.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1497.  
  1498.     PORT_START  /* DSW0 */
  1499.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1500.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1501.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1502.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1503.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1504.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1505.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1506.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1507.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1508.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1509.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1510.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1511.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1512.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1513.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1514.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1515.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1516.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1517.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1518.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1519.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1520.     PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
  1521.  
  1522.     PORT_START      /* DSW1 */
  1523.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1524.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1525.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1526.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1527.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1528.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1529.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1530.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1531.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1532.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1533.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1534.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1535.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1536.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1537.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1538.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1539.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1540.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1541.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1542.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1543.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1544.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1545.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1546.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1547. INPUT_PORTS_END
  1548.  
  1549. INPUT_PORTS_START( tokisens )
  1550.     PORT_START  /* IN1 */
  1551.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1552.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1553.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1554.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1555.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1556.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1557.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1558.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1559.  
  1560.     PORT_START  /* IN2 */
  1561.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1562.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1563.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1564.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1565.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1566.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1567.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1568.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1569.  
  1570.     PORT_START  /* IN0 */
  1571.     IN0_PORT
  1572.  
  1573.     PORT_START  /* DSW0 */
  1574.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1575.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1576.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1577.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
  1578.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1579.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1580.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1581.     PORT_DIPSETTING(    0x00, "1" )
  1582.     PORT_DIPSETTING(    0x08, "2" )
  1583.     PORT_DIPSETTING(    0x0c, "3" )
  1584.     PORT_DIPSETTING(    0x04, "4" )
  1585.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1586.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1587.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1588.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1589.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1590.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1591.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1592.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1593.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1594.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1595.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1596.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1597.  
  1598.     PORT_START      /* DSW1 */
  1599.     DSW1_PORT
  1600. INPUT_PORTS_END
  1601.  
  1602. INPUT_PORTS_START( wbml )
  1603.     PORT_START  /* IN1 */
  1604.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1605.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1606.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1607.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1608.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  1609.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  1610.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1611.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  1612.  
  1613.     PORT_START  /* IN2 */
  1614.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1615.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1616.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1617.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1618.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  1619.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  1620.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1621.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  1622.  
  1623.     PORT_START  /* IN0 */
  1624.     IN0_PORT
  1625.  
  1626.     PORT_START  /* DSW1 */
  1627.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1628.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1629.     PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1630.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
  1631.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1632.     PORT_DIPSETTING(    0x02, DEF_STR( On ) )
  1633.     PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1634.     PORT_DIPSETTING(    0x04, "3" )
  1635.     PORT_DIPSETTING(    0x0c, "4" )
  1636.     PORT_DIPSETTING(    0x08, "5" )
  1637. /* 0x00 gives 4 lives */
  1638.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
  1639.     PORT_DIPSETTING(    0x10, "30000 100000 200000" )
  1640.     PORT_DIPSETTING(    0x00, "50000 150000 250000" )
  1641.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Difficulty ) )
  1642.     PORT_DIPSETTING(    0x20, "Easy" )
  1643.     PORT_DIPSETTING(    0x00, "Hard" )
  1644.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Test Mode", IP_KEY_NONE, IP_JOY_NONE )
  1645.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1646.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1647.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1648.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1649.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1650.  
  1651.     PORT_START      /* DSW0 */
  1652.     DSW1_PORT
  1653. INPUT_PORTS_END
  1654.  
  1655.  
  1656.  
  1657. static struct GfxLayout charlayout =
  1658. {
  1659.     8,8,    /* 8 by 8 */
  1660.     2048,   /* 2048 characters */
  1661.     3,      /* 3 bits per pixel */
  1662.     { 0, 2048*8*8, 2*2048*8*8 },            /* plane */
  1663.     { 0, 1, 2, 3, 4, 5, 6, 7 },
  1664.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1665.     8*8
  1666. };
  1667.  
  1668. static struct GfxLayout chplft_charlayout =
  1669. {
  1670.     8,8,    /* 8 by 8 */
  1671.     4096,   /* 4096 characters */
  1672.     3,  /* 3 bits per pixel */
  1673.     { 0, 4096*8*8, 2*4096*8*8 },        /* plane */
  1674.     { 0, 1, 2, 3, 4, 5, 6, 7 },
  1675.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1676.     8*8
  1677. };
  1678.  
  1679.  
  1680.  
  1681. static struct GfxDecodeInfo gfxdecodeinfo[] =
  1682. {
  1683.     /* sprites use colors 0-511, but are not defined here */
  1684.     { REGION_GFX1, 0, &charlayout, 512, 128 },
  1685.     { -1 } /* end of array */
  1686. };
  1687.  
  1688. static struct GfxDecodeInfo chplft_gfxdecodeinfo[] =
  1689. {
  1690.     /* sprites use colors 0-511, but are not defined here */
  1691.     { REGION_GFX1, 0, &chplft_charlayout, 512, 128 },
  1692.     { -1 } /* end of array */
  1693. };
  1694.  
  1695.  
  1696.  
  1697. static struct SN76496interface sn76496_interface =
  1698. {
  1699.     2,      /* 2 chips */
  1700.     { 2000000, 4000000 },   /* 8 MHz / 4 ?*/
  1701.     { 50, 50 }
  1702. };
  1703.  
  1704.  
  1705.  
  1706. static struct MachineDriver machine_driver_system1 =
  1707. {
  1708.     /* basic machine hardware */
  1709.     {
  1710.         {
  1711.             CPU_Z80,
  1712.             4000000,    /* My Hero has 2 OSCs 8 & 20 MHz (Cabbe Info) */
  1713.             readmem,writemem,readport,writeport,
  1714.             interrupt,1
  1715.         },
  1716.         {
  1717.             CPU_Z80 | CPU_AUDIO_CPU,
  1718.             4000000,
  1719.             sound_readmem,sound_writemem,0,0,
  1720.             interrupt,4         /* NMIs are caused by the main CPU */
  1721.         },
  1722.     },
  1723.     60, DEFAULT_60HZ_VBLANK_DURATION,   /* frames per second, vblank duration */
  1724.     1,                  /* single CPU, no need for interleaving */
  1725.     system1_init_machine,
  1726.  
  1727.     /* video hardware */
  1728.     256, 256,               /* screen_width, screen_height */
  1729.     { 0*8, 32*8-1, 0*8, 28*8-1 },           /* struct rectangle visible_area */
  1730.     gfxdecodeinfo,              /* GfxDecodeInfo */
  1731.     2048,                   /* total colors */
  1732.     2048,                   /* color table length */
  1733.     system1_vh_convert_color_prom,      /* convert color prom routine */
  1734.  
  1735.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1736.     0,                  /* vh_init routine */
  1737.     system1_vh_start,           /* vh_start routine */
  1738.     system1_vh_stop,            /* vh_stop routine */
  1739.     system1_vh_screenrefresh,       /* vh_update routine */
  1740.  
  1741.     /* sound hardware */
  1742.     0,0,0,0,
  1743.     {
  1744.         {
  1745.             SOUND_SN76496,
  1746.             &sn76496_interface
  1747.         }
  1748.     }
  1749. };
  1750.  
  1751. /* driver with reduced visible area for scrolling games */
  1752. static struct MachineDriver machine_driver_small =
  1753. {
  1754.     /* basic machine hardware */
  1755.     {
  1756.         {
  1757.             CPU_Z80,
  1758.             4000000,    /* My Hero has 2 OSCs 8 & 20 MHz (Cabbe Info) */
  1759.             readmem,writemem,readport,writeport,
  1760.             interrupt,1
  1761.         },
  1762.         {
  1763.             CPU_Z80 | CPU_AUDIO_CPU,
  1764.             4000000,
  1765.             sound_readmem,sound_writemem,0,0,
  1766.             interrupt,4         /* NMIs are caused by the main CPU */
  1767.         },
  1768.     },
  1769.     60, DEFAULT_60HZ_VBLANK_DURATION,   /* frames per second, vblank duration */
  1770.     1,                  /* single CPU, no need for interleaving */
  1771.     system1_init_machine,
  1772.  
  1773.     /* video hardware */
  1774.     256, 256,               /* screen_width, screen_height */
  1775.     { 0*8+8, 32*8-1-8, 0*8, 28*8-1 },           /* struct rectangle visible_area */
  1776.     gfxdecodeinfo,              /* GfxDecodeInfo */
  1777.     2048,                   /* total colors */
  1778.     2048,                   /* color table length */
  1779.     system1_vh_convert_color_prom,      /* convert color prom routine */
  1780.  
  1781.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1782.     0,                  /* vh_init routine */
  1783.     system1_vh_start,           /* vh_start routine */
  1784.     system1_vh_stop,            /* vh_stop routine */
  1785.     system1_vh_screenrefresh,       /* vh_update routine */
  1786.  
  1787.     /* sound hardware */
  1788.     0,0,0,0,
  1789.     {
  1790.         {
  1791.             SOUND_SN76496,
  1792.             &sn76496_interface
  1793.         }
  1794.     }
  1795. };
  1796.  
  1797. static struct MachineDriver machine_driver_pitfall2 =
  1798. {
  1799.     /* basic machine hardware */
  1800.     {
  1801.         {
  1802.             CPU_Z80,
  1803.             3650000,            /* 3.65 MHz ? changing it to 4 makes the title disappear */
  1804.             readmem,writemem,readport,writeport,
  1805.             interrupt,1
  1806.         },
  1807.         {
  1808.             CPU_Z80 | CPU_AUDIO_CPU,
  1809.             3000000,            /* 3 Mhz ? */
  1810.             sound_readmem,sound_writemem,0,0,
  1811.             interrupt,4         /* NMIs are caused by the main CPU */
  1812.         },
  1813.  
  1814.     },
  1815.     60, DEFAULT_60HZ_VBLANK_DURATION,   /* frames per second, vblank duration */
  1816.     1,                  /* single CPU, no need for interleaving */
  1817.     system1_init_machine,
  1818.  
  1819.     /* video hardware */
  1820.     256, 256,               /* screen_width, screen_height */
  1821.     { 0*8, 32*8-1, 0*8, 28*8-1 },       /* struct rectangle visible_area */
  1822.     gfxdecodeinfo,              /* GfxDecodeInfo */
  1823.     2048,                   /* total colors */
  1824.     2048,                   /* color table length */
  1825.     system1_vh_convert_color_prom,          /* convert color prom routine */
  1826.  
  1827.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1828.     0,                  /* vh_init routine */
  1829.     system1_vh_start,           /* vh_start routine */
  1830.     system1_vh_stop,            /* vh_stop routine */
  1831.     system1_vh_screenrefresh,       /* vh_update routine */
  1832.  
  1833.     /* sound hardware */
  1834.     0,0,0,0,
  1835.     {
  1836.         {
  1837.             SOUND_SN76496,
  1838.             &sn76496_interface
  1839.         }
  1840.     }
  1841. };
  1842.  
  1843. static struct MachineDriver machine_driver_hvymetal =
  1844. {
  1845.     /* basic machine hardware */
  1846.     {
  1847.         {
  1848.             CPU_Z80,
  1849.             4000000,            /* 4 MHz ? */
  1850.             brain_readmem,writemem,wbml_readport,hvymetal_writeport,
  1851.             interrupt,1
  1852.         },
  1853.         {
  1854.             CPU_Z80 | CPU_AUDIO_CPU,
  1855.             4000000,            /* 4 Mhz ? */
  1856.             sound_readmem,sound_writemem,0,0,
  1857.             interrupt,4         /* NMIs are caused by the main CPU */
  1858.         },
  1859.     },
  1860.     60, DEFAULT_60HZ_VBLANK_DURATION,           /* frames per second, vblank duration */
  1861.     1,                  /* single CPU, no need for interleaving */
  1862.     chplft_init_machine,
  1863.  
  1864.     /* video hardware */
  1865.     256, 256,                   /* screen_width, screen_height */
  1866.     { 0*8, 32*8-1, 0*8, 28*8-1 },           /* struct rectangle visible_area */
  1867.     chplft_gfxdecodeinfo,                   /* GfxDecodeInfo */
  1868.     2048,                       /* total colors */
  1869.     2048,                       /* color table length */
  1870.     system1_vh_convert_color_prom,  /* convert color prom routine */
  1871.  
  1872.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1873.     0,                              /* vh_init routine */
  1874.     system1_vh_start,               /* vh_start routine */
  1875.     system1_vh_stop,                /* vh_stop routine */
  1876.     system1_vh_screenrefresh,               /* vh_update routine */
  1877.  
  1878.     /* sound hardware */
  1879.     0,0,0,0,
  1880.     {
  1881.         {
  1882.             SOUND_SN76496,
  1883.             &sn76496_interface
  1884.         }
  1885.     }
  1886. };
  1887.  
  1888. static struct MachineDriver machine_driver_chplft =
  1889. {
  1890.     /* basic machine hardware */
  1891.     {
  1892.         {
  1893.             CPU_Z80,
  1894.             4000000,            /* 4 MHz ? */
  1895.             brain_readmem,chplft_writemem,wbml_readport,chplft_writeport,
  1896.             interrupt,1
  1897.         },
  1898.         {
  1899.             CPU_Z80 | CPU_AUDIO_CPU,
  1900.             4000000,            /* 4 Mhz ? */
  1901.             sound_readmem,sound_writemem,0,0,
  1902.             interrupt,4         /* NMIs are caused by the main CPU */
  1903.         },
  1904.     },
  1905.     60, DEFAULT_60HZ_VBLANK_DURATION,           /* frames per second, vblank duration */
  1906.     1,                  /* single CPU, no need for interleaving */
  1907.     chplft_init_machine,
  1908.  
  1909.     /* video hardware */
  1910.     256, 256,                   /* screen_width, screen_height */
  1911.     { 0*8, 32*8-1, 0*8, 28*8-1 },           /* struct rectangle visible_area */
  1912.     chplft_gfxdecodeinfo,                   /* GfxDecodeInfo */
  1913.     2048,                       /* total colors */
  1914.     2048,                       /* color table length */
  1915.     system1_vh_convert_color_prom,  /* convert color prom routine */
  1916.  
  1917.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1918.     0,                              /* vh_init routine */
  1919.     system1_vh_start,               /* vh_start routine */
  1920.     system1_vh_stop,                /* vh_stop routine */
  1921.     choplifter_vh_screenrefresh,                /* vh_update routine */
  1922.  
  1923.     /* sound hardware */
  1924.     0,0,0,0,
  1925.     {
  1926.         {
  1927.             SOUND_SN76496,
  1928.             &sn76496_interface
  1929.         }
  1930.     }
  1931. };
  1932.  
  1933. static struct MachineDriver machine_driver_brain =
  1934. {
  1935.     /* basic machine hardware */
  1936.     {
  1937.         {
  1938.             CPU_Z80,
  1939.             4000000,    /* My Hero has 2 OSCs 8 & 20 MHz (Cabbe Info) */
  1940.             brain_readmem,writemem,readport,brain_writeport,
  1941.             interrupt,1
  1942.         },
  1943.         {
  1944.             CPU_Z80 | CPU_AUDIO_CPU,
  1945.             4000000,
  1946.             sound_readmem,sound_writemem,0,0,
  1947.             interrupt,4         /* NMIs are caused by the main CPU */
  1948.         },
  1949.     },
  1950.     60, DEFAULT_60HZ_VBLANK_DURATION,   /* frames per second, vblank duration */
  1951.     1,                  /* single CPU, no need for interleaving */
  1952.     system1_init_machine,
  1953.  
  1954.     /* video hardware */
  1955.     256, 256,               /* screen_width, screen_height */
  1956.     { 0*8, 32*8-1, 0*8, 28*8-1 },           /* struct rectangle visible_area */
  1957.     gfxdecodeinfo,              /* GfxDecodeInfo */
  1958.     2048,                   /* total colors */
  1959.     2048,                   /* color table length */
  1960.     system1_vh_convert_color_prom,      /* convert color prom routine */
  1961.  
  1962.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  1963.     0,                  /* vh_init routine */
  1964.     system1_vh_start,           /* vh_start routine */
  1965.     system1_vh_stop,            /* vh_stop routine */
  1966.     system1_vh_screenrefresh,       /* vh_update routine */
  1967.  
  1968.     /* sound hardware */
  1969.     0,0,0,0,
  1970.     {
  1971.         {
  1972.             SOUND_SN76496,
  1973.             &sn76496_interface
  1974.         }
  1975.     }
  1976. };
  1977.  
  1978. static struct MachineDriver machine_driver_wbml =
  1979. {
  1980.     /* basic machine hardware */
  1981.     {
  1982.         {
  1983.             CPU_Z80,
  1984.             4000000,            /* 4 MHz ? */
  1985.             wbml_readmem,wbml_writemem,wbml_readport,wbml_writeport,
  1986.             interrupt,1
  1987.         },
  1988.         {
  1989.             CPU_Z80 | CPU_AUDIO_CPU,
  1990.             4000000,            /* 4 Mhz ? */
  1991.             sound_readmem,sound_writemem,0,0,
  1992.             interrupt,4         /* NMIs are caused by the main CPU */
  1993.         },
  1994.     },
  1995.     60, DEFAULT_60HZ_VBLANK_DURATION,   /* frames per second, vblank duration */
  1996.     1,                  /* single CPU, no need for interleaving */
  1997.     wbml_init_machine,
  1998.  
  1999.     /* video hardware */
  2000.     256, 256,               /* screen_width, screen_height */
  2001.     { 0*8, 32*8-1, 0*8, 28*8-1 },       /* struct rectangle visible_area */
  2002.     chplft_gfxdecodeinfo,           /* GfxDecodeInfo */
  2003.     1536, 1536,
  2004.     system1_vh_convert_color_prom,          /* convert color prom routine */
  2005.  
  2006.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE,
  2007.     0,                  /* vh_init routine */
  2008.     system1_vh_start,           /* vh_start routine */
  2009.     system1_vh_stop,            /* vh_stop routine */
  2010.     wbml_vh_screenrefresh,              /* vh_update routine */
  2011.  
  2012.     /* sound hardware */
  2013.     0,0,0,0,
  2014.     {
  2015.         {
  2016.             SOUND_SN76496,
  2017.             &sn76496_interface
  2018.         }
  2019.     }
  2020. };
  2021.  
  2022.  
  2023.  
  2024. /***************************************************************************
  2025.  
  2026.   Game driver(s)
  2027.  
  2028. ***************************************************************************/
  2029.  
  2030. /* Since the standard System 1 PROM has part # 5317, Star Jacker, whose first */
  2031. /* ROM is #5318, is probably the first or second System 1 game produced */
  2032. ROM_START( starjack )
  2033.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2034.     ROM_LOAD( "5320b",        0x0000, 0x2000, 0x7ab72ecd )
  2035.     ROM_LOAD( "5321a",        0x2000, 0x2000, 0x38b99050 )
  2036.     ROM_LOAD( "5322a",        0x4000, 0x2000, 0x103a595b )
  2037.     ROM_LOAD( "5323",         0x6000, 0x2000, 0x46af0d58 )
  2038.     ROM_LOAD( "5324",         0x8000, 0x2000, 0x1e89efe2 )
  2039.     ROM_LOAD( "5325",         0xa000, 0x2000, 0xd6e379a1 )
  2040.  
  2041.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2042.     ROM_LOAD( "5332",         0x0000, 0x2000, 0x7a72ab3d )
  2043.  
  2044.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2045.     ROM_LOAD( "5331",         0x0000, 0x2000, 0x251d898f )
  2046.     ROM_LOAD( "5330",         0x2000, 0x2000, 0xeb048745 )
  2047.     ROM_LOAD( "5329",         0x4000, 0x2000, 0x3e8bcaed )
  2048.     ROM_LOAD( "5328",         0x6000, 0x2000, 0x9ed7849f )
  2049.     ROM_LOAD( "5327",         0x8000, 0x2000, 0x79e92cb1 )
  2050.     ROM_LOAD( "5326",         0xa000, 0x2000, 0xba7e2b47 )
  2051.  
  2052.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2053.     ROM_LOAD( "5318",         0x0000, 0x4000, 0x6f2e1fd3 )
  2054.     ROM_LOAD( "5319",         0x4000, 0x4000, 0xebee4999 )
  2055. ROM_END
  2056.  
  2057. ROM_START( starjacs )
  2058.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2059.     ROM_LOAD( "sja1ic29",     0x0000, 0x2000, 0x59a22a1f )
  2060.     ROM_LOAD( "sja1ic30",     0x2000, 0x2000, 0x7f4597dc )
  2061.     ROM_LOAD( "sja1ic31",     0x4000, 0x2000, 0x6074c046 )
  2062.     ROM_LOAD( "sja1ic32",     0x6000, 0x2000, 0x1c48a3fa )
  2063.     ROM_LOAD( "sja1ic33",     0x8000, 0x2000, 0x7598bd51 )
  2064.     ROM_LOAD( "sja1ic34",     0xa000, 0x2000, 0xf66fa604 )
  2065.  
  2066.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2067.     ROM_LOAD( "5332",         0x0000, 0x2000, 0x7a72ab3d )
  2068.  
  2069.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2070.     ROM_LOAD( "5331",         0x0000, 0x2000, 0x251d898f )
  2071.     ROM_LOAD( "sja1ic65",     0x2000, 0x2000, 0x0ab1893c )
  2072.     ROM_LOAD( "5329",         0x4000, 0x2000, 0x3e8bcaed )
  2073.     ROM_LOAD( "sja1ic64",     0x6000, 0x2000, 0x7f628ae6 )
  2074.     ROM_LOAD( "5327",         0x8000, 0x2000, 0x79e92cb1 )
  2075.     ROM_LOAD( "sja1ic63",     0xa000, 0x2000, 0x5bcb253e )
  2076.  
  2077.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2078.     /* SJA1IC86 and SJA1IC93 in the original set were bad, so I'm using the ones */
  2079.     /* from the Sega version. However I suspect the real ones should be slightly */
  2080.     /* different. */
  2081.     ROM_LOAD( "5318",         0x0000, 0x4000, BADCRC(0x6f2e1fd3) )
  2082.     ROM_LOAD( "5319",         0x4000, 0x4000, BADCRC(0xebee4999) )
  2083. ROM_END
  2084.  
  2085. ROM_START( regulus )
  2086.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2087.     ROM_LOAD( "epr5640a.29",  0x0000, 0x2000, 0xdafb1528 )  /* encrypted */
  2088.     ROM_LOAD( "epr5641a.30",  0x2000, 0x2000, 0x0fcc850e )  /* encrypted */
  2089.     ROM_LOAD( "epr5642a.31",  0x4000, 0x2000, 0x4feffa17 )  /* encrypted */
  2090.     ROM_LOAD( "epr5643a.32",  0x6000, 0x2000, 0xb8ac7eb4 )  /* encrypted */
  2091.     ROM_LOAD( "epr5644.33",   0x8000, 0x2000, 0xffd05b7d )
  2092.     ROM_LOAD( "epr5645a.34",  0xa000, 0x2000, 0x6b4bf77c )
  2093.  
  2094.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2095.     ROM_LOAD( "epr5652.3",    0x0000, 0x2000, 0x74edcb98 )
  2096.  
  2097.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2098.     ROM_LOAD( "epr5651.82",   0x0000, 0x2000, 0xf07f3e82 )
  2099.     ROM_LOAD( "epr5650.65",   0x2000, 0x2000, 0x84c1baa2 )
  2100.     ROM_LOAD( "epr5649.81",   0x4000, 0x2000, 0x6774c895 )
  2101.     ROM_LOAD( "epr5648.64",   0x6000, 0x2000, 0x0c69e92a )
  2102.     ROM_LOAD( "epr5647.80",   0x8000, 0x2000, 0x9330f7b5 )
  2103.     ROM_LOAD( "epr5646.63",   0xa000, 0x2000, 0x4dfacbbc )
  2104.  
  2105.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2106.     ROM_LOAD( "epr5638.92",   0x0000, 0x4000, 0x617363dd )
  2107.     ROM_LOAD( "epr5639.93",   0x4000, 0x4000, 0xa4ec5131 )
  2108. ROM_END
  2109.  
  2110. ROM_START( regulusu )
  2111.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2112.     ROM_LOAD( "epr-5950.129", 0x0000, 0x2000, 0x3b047b67 )
  2113.     ROM_LOAD( "epr-5951.130", 0x2000, 0x2000, 0xd66453ab )
  2114.     ROM_LOAD( "epr-5952.131", 0x4000, 0x2000, 0xf3d0158a )
  2115.     ROM_LOAD( "epr-5953.132", 0x6000, 0x2000, 0xa9ad4f44 )
  2116.     ROM_LOAD( "epr5644.33",   0x8000, 0x2000, 0xffd05b7d )
  2117.     ROM_LOAD( "epr-5955.134", 0xa000, 0x2000, 0x65ddb2a3 )
  2118.  
  2119.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2120.     ROM_LOAD( "epr5652.3",    0x0000, 0x2000, 0x74edcb98 )
  2121.  
  2122.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2123.     ROM_LOAD( "epr5651.82",   0x0000, 0x2000, 0xf07f3e82 )
  2124.     ROM_LOAD( "epr5650.65",   0x2000, 0x2000, 0x84c1baa2 )
  2125.     ROM_LOAD( "epr5649.81",   0x4000, 0x2000, 0x6774c895 )
  2126.     ROM_LOAD( "epr5648.64",   0x6000, 0x2000, 0x0c69e92a )
  2127.     ROM_LOAD( "epr5647.80",   0x8000, 0x2000, 0x9330f7b5 )
  2128.     ROM_LOAD( "epr5646.63",   0xa000, 0x2000, 0x4dfacbbc )
  2129.  
  2130.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2131.     ROM_LOAD( "epr5638.92",   0x0000, 0x4000, 0x617363dd )
  2132.     ROM_LOAD( "epr5639.93",   0x4000, 0x4000, 0xa4ec5131 )
  2133. ROM_END
  2134.  
  2135. ROM_START( upndown )
  2136.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2137.     ROM_LOAD( "upnd5679.bin", 0x0000, 0x2000, 0xc4f2f9c2 )
  2138.     ROM_LOAD( "upnd5680.bin", 0x2000, 0x2000, 0x837f021c )
  2139.     ROM_LOAD( "upnd5681.bin", 0x4000, 0x2000, 0xe1c7ff7e )
  2140.     ROM_LOAD( "upnd5682.bin", 0x6000, 0x2000, 0x4a5edc1e )
  2141.     ROM_LOAD( "upnd5683.bin", 0x8000, 0x2000, 0x208dfbdf )
  2142.     ROM_LOAD( "upnd5684.bin", 0xa000, 0x2000, 0x32fa95da )
  2143.  
  2144.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2145.     ROM_LOAD( "upnd5528.bin", 0x0000, 0x2000, 0x00cd44ab )
  2146.  
  2147.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2148.     ROM_LOAD( "upnd5527.bin", 0x0000, 0x2000, 0xb2d616f1 )
  2149.     ROM_LOAD( "upnd5526.bin", 0x2000, 0x2000, 0x8a8b33c2 )
  2150.     ROM_LOAD( "upnd5525.bin", 0x4000, 0x2000, 0xe749c5ef )
  2151.     ROM_LOAD( "upnd5524.bin", 0x6000, 0x2000, 0x8b886952 )
  2152.     ROM_LOAD( "upnd5523.bin", 0x8000, 0x2000, 0xdede35d9 )
  2153.     ROM_LOAD( "upnd5522.bin", 0xa000, 0x2000, 0x5e6d9dff )
  2154.  
  2155.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2156.     ROM_LOAD( "upnd5514.bin", 0x0000, 0x4000, 0xfcc0a88b )
  2157.     ROM_LOAD( "upnd5515.bin", 0x4000, 0x4000, 0x60908838 )
  2158. ROM_END
  2159.  
  2160. ROM_START( mrviking )
  2161.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2162.     ROM_LOAD( "vepr5873",     0x0000, 0x2000, 0x14d21624 )  /* encrypted */
  2163.     ROM_LOAD( "vepr5874",     0x2000, 0x2000, 0x6df7de87 )  /* encrypted */
  2164.     ROM_LOAD( "vepr5875",     0x4000, 0x2000, 0xac226100 )  /* encrypted */
  2165.     ROM_LOAD( "vepr5876",     0x6000, 0x2000, 0xe77db1dc )  /* encrypted */
  2166.     ROM_LOAD( "epr-5755.bin", 0x8000, 0x2000, 0xedd62ae1 )
  2167.     ROM_LOAD( "epr-5756.bin", 0xa000, 0x2000, 0x11974040 )
  2168.  
  2169.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2170.     ROM_LOAD( "epr-5763.bin", 0x0000, 0x2000, 0xd712280d )
  2171.  
  2172.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2173.     ROM_LOAD( "epr-5762.bin", 0x0000, 0x2000, 0x4a91d08a )
  2174.     ROM_LOAD( "epr-5761.bin", 0x2000, 0x2000, 0xf7d61b65 )
  2175.     ROM_LOAD( "epr-5760.bin", 0x4000, 0x2000, 0x95045820 )
  2176.     ROM_LOAD( "epr-5759.bin", 0x6000, 0x2000, 0x5f9bae4e )
  2177.     ROM_LOAD( "epr-5758.bin", 0x8000, 0x2000, 0x808ee706 )
  2178.     ROM_LOAD( "epr-5757.bin", 0xa000, 0x2000, 0x480f7074 )
  2179.  
  2180.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2181.     ROM_LOAD( "epr-5749.bin", 0x0000, 0x4000, 0xe24682cd )
  2182.     ROM_LOAD( "epr-5750.bin", 0x4000, 0x4000, 0x6564d1ad )
  2183. ROM_END
  2184.  
  2185. ROM_START( mrvikinj )
  2186.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2187.     ROM_LOAD( "epr-5751.bin", 0x0000, 0x2000, 0xae97a4c5 )  /* encrypted */
  2188.     ROM_LOAD( "epr-5752.bin", 0x2000, 0x2000, 0xd48e6726 )  /* encrypted */
  2189.     ROM_LOAD( "epr-5753.bin", 0x4000, 0x2000, 0x28c60887 )  /* encrypted */
  2190.     ROM_LOAD( "epr-5754.bin", 0x6000, 0x2000, 0x1f47ed02 )  /* encrypted */
  2191.     ROM_LOAD( "epr-5755.bin", 0x8000, 0x2000, 0xedd62ae1 )
  2192.     ROM_LOAD( "epr-5756.bin", 0xa000, 0x2000, 0x11974040 )
  2193.  
  2194.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2195.     ROM_LOAD( "epr-5763.bin", 0x0000, 0x2000, 0xd712280d )
  2196.  
  2197.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2198.     ROM_LOAD( "epr-5762.bin", 0x0000, 0x2000, 0x4a91d08a )
  2199.     ROM_LOAD( "epr-5761.bin", 0x2000, 0x2000, 0xf7d61b65 )
  2200.     ROM_LOAD( "epr-5760.bin", 0x4000, 0x2000, 0x95045820 )
  2201.     ROM_LOAD( "epr-5759.bin", 0x6000, 0x2000, 0x5f9bae4e )
  2202.     ROM_LOAD( "epr-5758.bin", 0x8000, 0x2000, 0x808ee706 )
  2203.     ROM_LOAD( "epr-5757.bin", 0xa000, 0x2000, 0x480f7074 )
  2204.  
  2205.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2206.     ROM_LOAD( "epr-5749.bin", 0x0000, 0x4000, 0xe24682cd )
  2207.     ROM_LOAD( "epr-5750.bin", 0x4000, 0x4000, 0x6564d1ad )
  2208. ROM_END
  2209.  
  2210. ROM_START( swat )
  2211.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2212.     ROM_LOAD( "epr5807b.29",  0x0000, 0x2000, 0x93db9c9f )  /* encrypted */
  2213.     ROM_LOAD( "epr5808.30",   0x2000, 0x2000, 0x67116665 )  /* encrypted */
  2214.     ROM_LOAD( "epr5809.31",   0x4000, 0x2000, 0xfd792fc9 )  /* encrypted */
  2215.     ROM_LOAD( "epr5810.32",   0x6000, 0x2000, 0xdc2b279d )  /* encrypted */
  2216.     ROM_LOAD( "epr5811.33",   0x8000, 0x2000, 0x093e3ab1 )
  2217.     ROM_LOAD( "epr5812.34",   0xa000, 0x2000, 0x5bfd692f )
  2218.  
  2219.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2220.     ROM_LOAD( "epr5819.3",    0x0000, 0x2000, 0xf6afd0fd )
  2221.  
  2222.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2223.     ROM_LOAD( "epr5818.82",   0x0000, 0x2000, 0xb22033d9 )
  2224.     ROM_LOAD( "epr5817.65",   0x2000, 0x2000, 0xfd942797 )
  2225.     ROM_LOAD( "epr5816.81",   0x4000, 0x2000, 0x4384376d )
  2226.     ROM_LOAD( "epr5815.64",   0x6000, 0x2000, 0x16ad046c )
  2227.     ROM_LOAD( "epr5814.80",   0x8000, 0x2000, 0xbe721c99 )
  2228.     ROM_LOAD( "epr5813.63",   0xa000, 0x2000, 0x0d42c27e )
  2229.  
  2230.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2231.     ROM_LOAD( "epr5805.92",   0x0000, 0x4000, 0x5a732865 )
  2232.     ROM_LOAD( "epr5806.93",   0x4000, 0x4000, 0x26ac258c )
  2233. ROM_END
  2234.  
  2235. ROM_START( flicky )
  2236.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2237.     ROM_LOAD( "epr5978",      0x0000, 0x4000, 0x296f1492 )  /* encrypted */
  2238.     ROM_LOAD( "epr5979",      0x4000, 0x4000, 0x64b03ef9 )  /* encrypted */
  2239.  
  2240.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2241.     ROM_LOAD( "epr5869",      0x0000, 0x2000, 0x6d220d4e )
  2242.  
  2243.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2244.     ROM_LOAD( "epr6001",      0x0000, 0x4000, 0xf1a75200 )
  2245.     ROM_LOAD( "epr6000",      0x4000, 0x4000, 0x299aefb7 )
  2246.     ROM_LOAD( "epr5999",      0x8000, 0x4000, 0x1ca53157 )
  2247.  
  2248.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2249.     ROM_LOAD( "epr5855",      0x0000, 0x4000, 0xb5f894a1 )
  2250.     ROM_LOAD( "epr5856",      0x4000, 0x4000, 0x266af78f )
  2251. ROM_END
  2252.  
  2253. ROM_START( flicky2 )
  2254.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2255.     ROM_LOAD( "f_9",          0x0000, 0x2000, 0xa65ac88e )  /* encrypted */
  2256.     ROM_LOAD( "f_10",         0x2000, 0x2000, 0x18b412f4 )  /* encrypted */
  2257.     ROM_LOAD( "f_11",         0x4000, 0x2000, 0xa5558d7e )  /* encrypted */
  2258.     ROM_LOAD( "f_12",         0x6000, 0x2000, 0x1b35fef1 )  /* encrypted */
  2259.  
  2260.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2261.     ROM_LOAD( "epr5869",      0x0000, 0x2000, 0x6d220d4e )
  2262.  
  2263.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2264.     ROM_LOAD( "epr6001",      0x0000, 0x4000, 0xf1a75200 )
  2265.     ROM_LOAD( "epr6000",      0x4000, 0x4000, 0x299aefb7 )
  2266.     ROM_LOAD( "epr5999",      0x8000, 0x4000, 0x1ca53157 )
  2267.  
  2268.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2269.     ROM_LOAD( "epr5855",      0x0000, 0x4000, 0xb5f894a1 )
  2270.     ROM_LOAD( "epr5856",      0x4000, 0x4000, 0x266af78f )
  2271. ROM_END
  2272.  
  2273. ROM_START( bullfgtj )
  2274.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2275.     ROM_LOAD( "6071",         0x0000, 0x4000, 0x96b57df9 )  /* encrypted */
  2276.     ROM_LOAD( "6072",         0x4000, 0x4000, 0xf7baadd0 )  /* encrypted */
  2277.     ROM_LOAD( "6073",         0x8000, 0x4000, 0x721af166 )
  2278.  
  2279.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2280.     ROM_LOAD( "6077",         0x0000, 0x2000, 0x02a37602 )
  2281.  
  2282.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2283.     ROM_LOAD( "6089",         0x0000, 0x2000, 0xa183e5ff )
  2284.     ROM_LOAD( "6088",         0x2000, 0x2000, 0xb919b4a6 )
  2285.     ROM_LOAD( "6087",         0x4000, 0x2000, 0x2677742c )
  2286.     ROM_LOAD( "6086",         0x6000, 0x2000, 0x76b5a084 )
  2287.     ROM_LOAD( "6085",         0x8000, 0x2000, 0x9c3ddc62 )
  2288.     ROM_LOAD( "6084",         0xa000, 0x2000, 0x90e1fa5f )
  2289.  
  2290.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2291.     ROM_LOAD( "6069",         0x0000, 0x4000, 0xfe691e41 )
  2292.     ROM_LOAD( "6070",         0x4000, 0x4000, 0x34f080df )
  2293. ROM_END
  2294.  
  2295. ROM_START( pitfall2 )
  2296.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2297.     ROM_LOAD( "epr6456a.116", 0x0000, 0x4000, 0xbcc8406b )  /* encrypted */
  2298.     ROM_LOAD( "epr6457a.109", 0x4000, 0x4000, 0xa016fd2a )  /* encrypted */
  2299.     ROM_LOAD( "epr6458a.96",  0x8000, 0x4000, 0x5c30b3e8 )
  2300.  
  2301.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2302.     ROM_LOAD( "epr6462.120",  0x0000, 0x2000, 0x86bb9185 )
  2303.  
  2304.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2305.     ROM_LOAD( "epr6474a.62",  0x0000, 0x2000, 0x9f1711b9 )
  2306.     ROM_LOAD( "epr6473a.61",  0x2000, 0x2000, 0x8e53b8dd )
  2307.     ROM_LOAD( "epr6472a.64",  0x4000, 0x2000, 0xe0f34a11 )
  2308.     ROM_LOAD( "epr6471a.63",  0x6000, 0x2000, 0xd5bc805c )
  2309.     ROM_LOAD( "epr6470a.66",  0x8000, 0x2000, 0x1439729f )
  2310.     ROM_LOAD( "epr6469a.65",  0xa000, 0x2000, 0xe4ac6921 )
  2311.  
  2312.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2313.     ROM_LOAD( "epr6454a.117", 0x0000, 0x4000, 0xa5d96780 )
  2314.     ROM_LOAD( "epr6455.05",   0x4000, 0x4000, 0x32ee64a1 )
  2315. ROM_END
  2316.  
  2317. ROM_START( pitfallu )
  2318.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2319.     ROM_LOAD( "epr6623",      0x0000, 0x4000, 0xbcb47ed6 )
  2320.     ROM_LOAD( "epr6624a",     0x4000, 0x4000, 0x6e8b09c1 )
  2321.     ROM_LOAD( "epr6625",      0x8000, 0x4000, 0xdc5484ba )
  2322.  
  2323.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2324.     ROM_LOAD( "epr6462.120",  0x0000, 0x2000, 0x86bb9185 )
  2325.  
  2326.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2327.     ROM_LOAD( "epr6474a.62",  0x0000, 0x2000, 0x9f1711b9 )
  2328.     ROM_LOAD( "epr6473a.61",  0x2000, 0x2000, 0x8e53b8dd )
  2329.     ROM_LOAD( "epr6472a.64",  0x4000, 0x2000, 0xe0f34a11 )
  2330.     ROM_LOAD( "epr6471a.63",  0x6000, 0x2000, 0xd5bc805c )
  2331.     ROM_LOAD( "epr6470a.66",  0x8000, 0x2000, 0x1439729f )
  2332.     ROM_LOAD( "epr6469a.65",  0xa000, 0x2000, 0xe4ac6921 )
  2333.  
  2334.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2335.     ROM_LOAD( "epr6454a.117", 0x0000, 0x4000, 0xa5d96780 )
  2336.     ROM_LOAD( "epr6455.05",   0x4000, 0x4000, 0x32ee64a1 )
  2337. ROM_END
  2338.  
  2339. ROM_START( seganinj )
  2340.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2341.     ROM_LOAD( "ic116.bin",    0x0000, 0x4000, 0xa5d0c9d0 )  /* encrypted */
  2342.     ROM_LOAD( "ic109.bin",    0x4000, 0x4000, 0xb9e6775c )  /* encrypted */
  2343.     ROM_LOAD( "7151.96",      0x8000, 0x4000, 0xf2eeb0d8 )
  2344.  
  2345.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2346.     ROM_LOAD( "6559.120",     0x0000, 0x2000, 0x5a1570ee )
  2347.  
  2348.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2349.     ROM_LOAD( "6558.82",      0x0000, 0x2000, 0x2af9eaeb )
  2350.     ROM_LOAD( "6592.61",      0x2000, 0x2000, 0x7804db86 )
  2351.     ROM_LOAD( "6556.81",      0x4000, 0x2000, 0x79fd26f7 )
  2352.     ROM_LOAD( "6590.63",      0x6000, 0x2000, 0xbf858cad )
  2353.     ROM_LOAD( "6554.80",      0x8000, 0x2000, 0x5ac9d205 )
  2354.     ROM_LOAD( "6588.65",      0xa000, 0x2000, 0xdc931dbb )
  2355.  
  2356.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2357.     ROM_LOAD( "6546.117",     0x0000, 0x4000, 0xa4785692 )
  2358.     ROM_LOAD( "6548.04",      0x4000, 0x4000, 0xbdf278c1 )
  2359.     ROM_LOAD( "6547.110",     0x8000, 0x4000, 0x34451b08 )
  2360.     ROM_LOAD( "6549.05",      0xc000, 0x4000, 0xd2057668 )
  2361. ROM_END
  2362.  
  2363. ROM_START( seganinu )
  2364.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2365.     ROM_LOAD( "7149.116",     0x0000, 0x4000, 0xcd9fade7 )
  2366.     ROM_LOAD( "7150.109",     0x4000, 0x4000, 0xc36351e2 )
  2367.     ROM_LOAD( "7151.96",      0x8000, 0x4000, 0xf2eeb0d8 )
  2368.  
  2369.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2370.     ROM_LOAD( "6559.120",     0x0000, 0x2000, 0x5a1570ee )
  2371.  
  2372.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2373.     ROM_LOAD( "6558.82",      0x0000, 0x2000, 0x2af9eaeb )
  2374.     ROM_LOAD( "6592.61",      0x2000, 0x2000, 0x7804db86 )
  2375.     ROM_LOAD( "6556.81",      0x4000, 0x2000, 0x79fd26f7 )
  2376.     ROM_LOAD( "6590.63",      0x6000, 0x2000, 0xbf858cad )
  2377.     ROM_LOAD( "6554.80",      0x8000, 0x2000, 0x5ac9d205 )
  2378.     ROM_LOAD( "6588.65",      0xa000, 0x2000, 0xdc931dbb )
  2379.  
  2380.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2381.     ROM_LOAD( "6546.117",     0x0000, 0x4000, 0xa4785692 )
  2382.     ROM_LOAD( "6548.04",      0x4000, 0x4000, 0xbdf278c1 )
  2383.     ROM_LOAD( "6547.110",     0x8000, 0x4000, 0x34451b08 )
  2384.     ROM_LOAD( "6549.05",      0xc000, 0x4000, 0xd2057668 )
  2385. ROM_END
  2386.  
  2387. ROM_START( nprinces )
  2388.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2389.     ROM_LOAD( "epr6550.116",  0x0000, 0x4000, 0x5f6d59f1 )  /* encrypted */
  2390.     ROM_LOAD( "epr6551.109",  0x4000, 0x4000, 0x1af133b2 )  /* encrypted */
  2391.     ROM_LOAD( "7151.96",      0x8000, 0x4000, 0xf2eeb0d8 )
  2392.  
  2393.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2394.     ROM_LOAD( "6559.120",     0x0000, 0x2000, 0x5a1570ee )
  2395.  
  2396.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2397.     ROM_LOAD( "6558.82",      0x0000, 0x2000, 0x2af9eaeb )
  2398.     ROM_LOAD( "6557.65",      0x2000, 0x2000, 0x6eb131d0 )
  2399.     ROM_LOAD( "6556.81",      0x4000, 0x2000, 0x79fd26f7 )
  2400.     ROM_LOAD( "6555.64",      0x6000, 0x2000, 0x7f669aac )
  2401.     ROM_LOAD( "6554.80",      0x8000, 0x2000, 0x5ac9d205 )
  2402.     ROM_LOAD( "6553.63",      0xa000, 0x2000, 0xeb82a8fe )
  2403.  
  2404.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2405.     ROM_LOAD( "6546.117",     0x0000, 0x4000, 0xa4785692 )
  2406.     ROM_LOAD( "6548.04",      0x4000, 0x4000, 0xbdf278c1 )
  2407.     ROM_LOAD( "6547.110",     0x8000, 0x4000, 0x34451b08 )
  2408.     ROM_LOAD( "6549.05",      0xc000, 0x4000, 0xd2057668 )
  2409. ROM_END
  2410.  
  2411. ROM_START( nprincsu )
  2412.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2413.     ROM_LOAD( "6573.129",     0x0000, 0x2000, 0xd2919c7d )
  2414.     ROM_LOAD( "6574.130",     0x2000, 0x2000, 0x5a132833 )
  2415.     ROM_LOAD( "6575.131",     0x4000, 0x2000, 0xa94b0bd4 )
  2416.     ROM_LOAD( "6576.132",     0x6000, 0x2000, 0x27d3bbdb )
  2417.     ROM_LOAD( "6577.133",     0x8000, 0x2000, 0x73616e03 )
  2418.     ROM_LOAD( "6578.134",     0xa000, 0x2000, 0xab68499f )
  2419.  
  2420.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2421.     ROM_LOAD( "6559.120",     0x0000, 0x2000, 0x5a1570ee )
  2422.  
  2423.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2424.     ROM_LOAD( "6558.82",      0x0000, 0x2000, 0x2af9eaeb )
  2425.     ROM_LOAD( "6557.65",      0x2000, 0x2000, 0x6eb131d0 )
  2426.     ROM_LOAD( "6556.81",      0x4000, 0x2000, 0x79fd26f7 )
  2427.     ROM_LOAD( "6555.64",      0x6000, 0x2000, 0x7f669aac )
  2428.     ROM_LOAD( "6554.80",      0x8000, 0x2000, 0x5ac9d205 )
  2429.     ROM_LOAD( "6553.63",      0xa000, 0x2000, 0xeb82a8fe )
  2430.  
  2431.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2432.     ROM_LOAD( "6546.117",     0x0000, 0x4000, 0xa4785692 )
  2433.     ROM_LOAD( "6548.04",      0x4000, 0x4000, 0xbdf278c1 )
  2434.     ROM_LOAD( "6547.110",     0x8000, 0x4000, 0x34451b08 )
  2435.     ROM_LOAD( "6549.05",      0xc000, 0x4000, 0xd2057668 )
  2436. ROM_END
  2437.  
  2438. ROM_START( nprincsb )
  2439.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2440.     ROM_LOAD( "nprinces.001", 0x0000, 0x4000, 0xe0de073c )  /* encrypted */
  2441.     ROM_LOAD( "nprinces.002", 0x4000, 0x4000, 0x27219c7f )  /* encrypted */
  2442.     ROM_LOAD( "7151.96",      0x8000, 0x4000, 0xf2eeb0d8 )
  2443.  
  2444.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2445.     ROM_LOAD( "6559.120",     0x0000, 0x2000, 0x5a1570ee )
  2446.  
  2447.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2448.     ROM_LOAD( "6558.82",      0x0000, 0x2000, 0x2af9eaeb )
  2449.     ROM_LOAD( "6557.65",      0x2000, 0x2000, 0x6eb131d0 )
  2450.     ROM_LOAD( "6556.81",      0x4000, 0x2000, 0x79fd26f7 )
  2451.     ROM_LOAD( "6555.64",      0x6000, 0x2000, 0x7f669aac )
  2452.     ROM_LOAD( "6554.80",      0x8000, 0x2000, 0x5ac9d205 )
  2453.     ROM_LOAD( "6553.63",      0xa000, 0x2000, 0xeb82a8fe )
  2454.  
  2455.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2456.     ROM_LOAD( "6546.117",     0x0000, 0x4000, 0xa4785692 )
  2457.     ROM_LOAD( "6548.04",      0x4000, 0x4000, 0xbdf278c1 )
  2458.     ROM_LOAD( "6547.110",     0x8000, 0x4000, 0x34451b08 )
  2459.     ROM_LOAD( "6549.05",      0xc000, 0x4000, 0xd2057668 )
  2460. ROM_END
  2461.  
  2462. ROM_START( imsorry )
  2463.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2464.     ROM_LOAD( "epr6676.116",  0x0000, 0x4000, 0xeb087d7f )  /* encrypted */
  2465.     ROM_LOAD( "epr6677.109",  0x4000, 0x4000, 0xbd244bee )  /* encrypted */
  2466.     ROM_LOAD( "epr6678.96",   0x8000, 0x4000, 0x2e16b9fd )
  2467.  
  2468.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2469.     ROM_LOAD( "epr6656.113",  0x0000, 0x2000, 0x25e3d685 )
  2470.  
  2471.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2472.     ROM_LOAD( "epr6684.u62",  0x0000, 0x2000, 0x2c8df377 )
  2473.     ROM_LOAD( "epr6683.u61",  0x2000, 0x2000, 0x89431c48 )
  2474.     ROM_LOAD( "epr6682.u64",  0x4000, 0x2000, 0x256a9246 )
  2475.     ROM_LOAD( "epr6681.u63",  0x6000, 0x2000, 0x6974d189 )
  2476.     ROM_LOAD( "epr6680.u66",  0x8000, 0x2000, 0x10a629d6 )
  2477.     ROM_LOAD( "epr6674.u65",  0xa000, 0x2000, 0x143d883c )
  2478.  
  2479.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2480.     ROM_LOAD( "epr66xx.117",  0x0000, 0x4000, 0x1ba167ee )
  2481.     ROM_LOAD( "epr66xx.u04",  0x4000, 0x4000, 0xedda7ad6 )
  2482. ROM_END
  2483.  
  2484. ROM_START( imsorryj )
  2485.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2486.     ROM_LOAD( "6647.116",      0x0000, 0x4000, 0xcc5d915d )  /* encrypted */
  2487.     ROM_LOAD( "6648.109",      0x4000, 0x4000, 0x37574d60 )  /* encrypted */
  2488.     ROM_LOAD( "6649.96",      0x8000, 0x4000, 0x5f59bdee )
  2489.  
  2490.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2491.     ROM_LOAD( "epr6656.113",  0x0000, 0x2000, 0x25e3d685 )
  2492.  
  2493.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2494.     ROM_LOAD( "6655.62",      0x0000, 0x2000, 0xbe1f762f )
  2495.     ROM_LOAD( "6654.61",      0x2000, 0x2000, 0xed5f7fc8 )
  2496.     ROM_LOAD( "6653.64",      0x4000, 0x2000, 0x8b4845a7 )
  2497.     ROM_LOAD( "6652.63",      0x6000, 0x2000, 0x001d68cb )
  2498.     ROM_LOAD( "6651.66",      0x8000, 0x2000, 0x4ee9b5e6 )
  2499.     ROM_LOAD( "6650.65",      0xa000, 0x2000, 0x3fca4414 )
  2500.  
  2501.     ROM_REGION( 0x8000, REGION_GFX2 )    /* 32k for sprites data */
  2502.     ROM_LOAD( "epr66xx.117",  0x0000, 0x4000, 0x1ba167ee )
  2503.     ROM_LOAD( "epr66xx.u04",  0x4000, 0x4000, 0xedda7ad6 )
  2504. ROM_END
  2505.  
  2506. ROM_START( teddybb )
  2507.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2508.     ROM_LOAD( "6768.116",     0x0000, 0x4000, 0x5939817e )  /* encrypted */
  2509.     ROM_LOAD( "6769.109",     0x4000, 0x4000, 0x14a98ddd )  /* encrypted */
  2510.     ROM_LOAD( "6770.96",      0x8000, 0x4000, 0x67b0c7c2 )
  2511.  
  2512.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2513.     ROM_LOAD( "6748.120",     0x0000, 0x2000, 0xc2a1b89d )
  2514.  
  2515.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2516.     ROM_LOAD( "6776.62",      0x0000, 0x2000, 0xa0e5aca7 )
  2517.     ROM_LOAD( "6775.61",      0x2000, 0x2000, 0xcdb77e51 )
  2518.     ROM_LOAD( "6774.64",      0x4000, 0x2000, 0x0cab75c3 )
  2519.     ROM_LOAD( "6773.63",      0x6000, 0x2000, 0x0ef8d2cd )
  2520.     ROM_LOAD( "6772.66",      0x8000, 0x2000, 0xc33062b5 )
  2521.     ROM_LOAD( "6771.65",      0xa000, 0x2000, 0xc457e8c5 )
  2522.  
  2523.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2524.     ROM_LOAD( "6735.117",     0x0000, 0x4000, 0x1be35a97 )
  2525.     ROM_LOAD( "6737.004",     0x4000, 0x4000, 0x6b53aa7a )
  2526.     ROM_LOAD( "6736.110",     0x8000, 0x4000, 0x565c25d0 )
  2527.     ROM_LOAD( "6738.005",     0xc000, 0x4000, 0xe116285f )
  2528. ROM_END
  2529.  
  2530. /* This is the first System 1 game to have extended ROM space */
  2531. ROM_START( hvymetal )
  2532.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 128k for code + 128k for decrypted opcodes */
  2533.     ROM_LOAD( "epra6790.1",   0x00000, 0x8000, 0x59195bb9 ) /* encrypted */
  2534.     ROM_LOAD( "epra6789.2",   0x10000, 0x8000, 0x83e1d18a )
  2535.     ROM_LOAD( "epra6788.3",   0x18000, 0x8000, 0x6ecefd57 )
  2536.  
  2537.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2538.     ROM_LOAD( "epr6787.120",  0x0000, 0x8000, 0xb64ac7f0 )
  2539.  
  2540.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2541.     ROM_LOAD( "epr6795.62",   0x00000, 0x4000, 0x58a3d038 )
  2542.     ROM_LOAD( "epr6796.61",   0x04000, 0x4000, 0xd8b08a55 )
  2543.     ROM_LOAD( "epr6793.64",   0x08000, 0x4000, 0x487407c2 )
  2544.     ROM_LOAD( "epr6794.63",   0x0c000, 0x4000, 0x89eb3793 )
  2545.     ROM_LOAD( "epr6791.66",   0x10000, 0x4000, 0xa7dcd042 )
  2546.     ROM_LOAD( "epr6792.65",   0x14000, 0x4000, 0xd0be5e33 )
  2547.  
  2548.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2549.     ROM_LOAD( "epr6778.117",  0x00000, 0x8000, 0x0af61aee )
  2550.     ROM_LOAD( "epr6777.110",  0x08000, 0x8000, 0x91d7a197 )
  2551.     ROM_LOAD( "epr6780.4",    0x10000, 0x8000, 0x55b31df5 )
  2552.     ROM_LOAD( "epr6779.5",    0x18000, 0x8000, 0xe03a2b28 )
  2553.  
  2554.     ROM_REGION( 0x0300, REGION_PROMS )
  2555.     ROM_LOAD( "pr7036.3",     0x0000, 0x0100, 0x146f16fb ) /* palette red component */
  2556.     ROM_LOAD( "pr7035.2",     0x0100, 0x0100, 0x50b201ed ) /* palette green component */
  2557.     ROM_LOAD( "pr7034.1",     0x0200, 0x0100, 0xdfb5f139 ) /* palette blue component */
  2558. ROM_END
  2559.  
  2560. ROM_START( myhero )
  2561.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2562.     ROM_LOAD( "epr6963b.116", 0x0000, 0x4000, 0x4daf89d4 )
  2563.     ROM_LOAD( "epr6964a.109", 0x4000, 0x4000, 0xc26188e5 )
  2564.     ROM_LOAD( "epr6965.96",   0x8000, 0x4000, 0x3cbbaf64 )
  2565.  
  2566.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2567.     ROM_LOAD( "epr69xx.120",  0x0000, 0x2000, 0x0039e1e9 )
  2568.  
  2569.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2570.     ROM_LOAD( "epr6966.u62",  0x0000, 0x2000, 0x157f0401 )
  2571.     ROM_LOAD( "epr6961.u61",  0x2000, 0x2000, 0xbe53ce47 )
  2572.     ROM_LOAD( "epr6960.u64",  0x4000, 0x2000, 0xbd381baa )
  2573.     ROM_LOAD( "epr6959.u63",  0x6000, 0x2000, 0xbc04e79a )
  2574.     ROM_LOAD( "epr6958.u66",  0x8000, 0x2000, 0x714f2c26 )
  2575.     ROM_LOAD( "epr6958.u65",  0xa000, 0x2000, 0x80920112 )
  2576.  
  2577.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2578.     ROM_LOAD( "epr6921.117",  0x0000, 0x4000, 0xf19e05a1 )
  2579.     ROM_LOAD( "epr6923.u04",  0x4000, 0x4000, 0x7988adc3 )
  2580.     ROM_LOAD( "epr6922.110",  0x8000, 0x4000, 0x37f77a78 )
  2581.     ROM_LOAD( "epr6924.u05",  0xc000, 0x4000, 0x42bdc8f6 )
  2582. ROM_END
  2583.  
  2584. ROM_START( myheroj )
  2585.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2586.     ROM_LOAD( "mhj_boot.01",  0x0000, 0x4000, 0xff54dcec )    /* encrypted */
  2587.     ROM_LOAD( "mhj_boot.02",  0x4000, 0x4000, 0x5c41eea8 )    /* encrypted */
  2588.     ROM_LOAD( "epr6965.96",   0x8000, 0x4000, 0x3cbbaf64 )
  2589.  
  2590.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2591.     ROM_LOAD( "mhj_boot.08",  0x0000, 0x2000, 0xaf467223 )
  2592.  
  2593.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2594.     ROM_LOAD( "mhj_boot.11",  0x0000, 0x4000, 0xfe2039f4 )
  2595.     ROM_LOAD( "mhj_boot.10",  0x4000, 0x4000, 0x0ff682e8 )
  2596.     ROM_LOAD( "mhj_boot.09",  0x8000, 0x4000, 0x558b6926 )
  2597.  
  2598.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2599.     ROM_LOAD( "epr6921.117",  0x0000, 0x4000, 0xf19e05a1 )
  2600.     ROM_LOAD( "epr6923.u04",  0x4000, 0x4000, 0x7988adc3 )
  2601.     ROM_LOAD( "epr6922.110",  0x8000, 0x4000, 0x37f77a78 )
  2602.     ROM_LOAD( "epr6924.u05",  0xc000, 0x4000, 0x42bdc8f6 )
  2603. ROM_END
  2604.  
  2605. ROM_START( myherok )
  2606.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2607.     /* all the three program ROMs have bits 0-1 swapped */
  2608.     /* when decoded, they are identical to the Japanese version */
  2609.     ROM_LOAD( "ry-11.rom",    0x0000, 0x4000, 0x6f4c8ee5 )  /* encrypted */
  2610.     ROM_LOAD( "ry-09.rom",    0x4000, 0x4000, 0x369302a1 )  /* encrypted */
  2611.     ROM_LOAD( "ry-07.rom",    0x8000, 0x4000, 0xb8e9922e )
  2612.  
  2613.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2614.     ROM_LOAD( "mhj_boot.08",  0x0000, 0x2000, 0xaf467223 )
  2615.  
  2616.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2617.     /* all three gfx ROMs have address lines A4 and A5 swapped, also #1 and #3 */
  2618.     /* have data lines D0 and D6 swapped, while #2 has data lines D1 and D5 swapped. */
  2619.     ROM_LOAD( "ry-04.rom",    0x0000, 0x4000, 0xdfb75143 )
  2620.     ROM_LOAD( "ry-03.rom",    0x4000, 0x4000, 0xcf68b4a2 )
  2621.     ROM_LOAD( "ry-02.rom",    0x8000, 0x4000, 0xd100eaef )
  2622.  
  2623.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2624.     ROM_LOAD( "epr6921.117",  0x0000, 0x4000, 0xf19e05a1 )
  2625.     ROM_LOAD( "epr6923.u04",  0x4000, 0x4000, 0x7988adc3 )
  2626.     ROM_LOAD( "epr6922.110",  0x8000, 0x4000, 0x37f77a78 )
  2627.     ROM_LOAD( "epr6924.u05",  0xc000, 0x4000, 0x42bdc8f6 )
  2628. ROM_END
  2629.  
  2630. ROM_START( shtngmst )
  2631.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  2632.     ROM_LOAD( "epr7100",      0x00000, 0x8000, 0x45e64431 )
  2633.     ROM_LOAD( "epr7101",      0x10000, 0x8000, 0xebf5ff72 )
  2634.     ROM_LOAD( "epr7102",      0x18000, 0x8000, 0xc890a4ad )
  2635.  
  2636.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2637.     ROM_LOAD( "epr7043",      0x0000, 0x8000, 0x99a368ab )
  2638.  
  2639.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2640.     ROM_LOAD( "epr7040",      0x00000, 0x8000, 0xf30769fa )
  2641.     ROM_LOAD( "epr7041",      0x08000, 0x8000, 0xf3e273f9 )
  2642.     ROM_LOAD( "epr7042",      0x10000, 0x8000, 0x6841c917 )
  2643.  
  2644.     ROM_REGION( 0x38000, REGION_GFX2 ) /* 224 for sprites data - PROBABLY WRONG! */
  2645.     ROM_LOAD( "epr7105",      0x00000, 0x8000, 0x13111729 )
  2646.     ROM_LOAD( "epr7104",      0x08000, 0x8000, 0x84a679c5 )
  2647.     ROM_LOAD( "epr7107",      0x10000, 0x8000, 0x8f50ea24 )
  2648.     ROM_LOAD( "epr7106",      0x18000, 0x8000, 0xae7ab7a2 )
  2649.     ROM_LOAD( "epr7109",      0x20000, 0x8000, 0x097f7481 )
  2650.     ROM_LOAD( "epr7108",      0x28000, 0x8000, 0x816180ac )
  2651.     ROM_LOAD( "epr7110",      0x30000, 0x8000, 0x5d1a5048 )
  2652.  
  2653.     ROM_REGION( 0x0300, REGION_PROMS )
  2654.     ROM_LOAD( "epr7113",      0x0000, 0x0100, 0x5c0e1360 ) /* palette red component */
  2655.     ROM_LOAD( "epr7112",      0x0100, 0x0100, 0x46fbd351 ) /* palette green component */
  2656.     ROM_LOAD( "epr7111",      0x0200, 0x0100, 0x8123b6b9 ) /* palette blue component */
  2657. ROM_END
  2658.  
  2659. ROM_START( chplft )
  2660.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  2661.     ROM_LOAD( "7124.90",      0x00000, 0x8000, 0x678d5c41 )
  2662.     ROM_LOAD( "7125.91",      0x10000, 0x8000, 0xf5283498 )
  2663.     ROM_LOAD( "7126.92",      0x18000, 0x8000, 0xdbd192ab )
  2664.  
  2665.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2666.     ROM_LOAD( "7130.126",     0x0000, 0x8000, 0x346af118 )
  2667.  
  2668.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2669.     ROM_LOAD( "7127.4",       0x00000, 0x8000, 0x1e708f6d )
  2670.     ROM_LOAD( "7128.5",       0x08000, 0x8000, 0xb922e787 )
  2671.     ROM_LOAD( "7129.6",       0x10000, 0x8000, 0xbd3b6e6e )
  2672.  
  2673.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2674.     ROM_LOAD( "7121.87",      0x00000, 0x8000, 0xf2b88f73 )
  2675.     ROM_LOAD( "7120.86",      0x08000, 0x8000, 0x517d7fd3 )
  2676.     ROM_LOAD( "7123.89",      0x10000, 0x8000, 0x8f16a303 )
  2677.     ROM_LOAD( "7122.88",      0x18000, 0x8000, 0x7c93f160 )
  2678.  
  2679.     ROM_REGION( 0x0300, REGION_PROMS )
  2680.     ROM_LOAD( "pr7119.20",    0x0000, 0x0100, 0xb2a8260f ) /* palette red component */
  2681.     ROM_LOAD( "pr7118.14",    0x0100, 0x0100, 0x693e20c7 ) /* palette green component */
  2682.     ROM_LOAD( "pr7117.8",     0x0200, 0x0100, 0x4124307e ) /* palette blue component */
  2683. ROM_END
  2684.  
  2685. ROM_START( chplftb )
  2686.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  2687.     ROM_LOAD( "7152.90",      0x00000, 0x8000, 0xfe49d83e )
  2688.     ROM_LOAD( "7153.91",      0x10000, 0x8000, 0x48697666 )
  2689.     ROM_LOAD( "7154.92",      0x18000, 0x8000, 0x56d6222a )
  2690.  
  2691.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2692.     ROM_LOAD( "7130.126",     0x0000, 0x8000, 0x346af118 )
  2693.  
  2694.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2695.     ROM_LOAD( "7127.4",       0x00000, 0x8000, 0x1e708f6d )
  2696.     ROM_LOAD( "7128.5",       0x08000, 0x8000, 0xb922e787 )
  2697.     ROM_LOAD( "7129.6",       0x10000, 0x8000, 0xbd3b6e6e )
  2698.  
  2699.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2700.     ROM_LOAD( "7121.87",      0x00000, 0x8000, 0xf2b88f73 )
  2701.     ROM_LOAD( "7120.86",      0x08000, 0x8000, 0x517d7fd3 )
  2702.     ROM_LOAD( "7123.89",      0x10000, 0x8000, 0x8f16a303 )
  2703.     ROM_LOAD( "7122.88",      0x18000, 0x8000, 0x7c93f160 )
  2704.  
  2705.     ROM_REGION( 0x0300, REGION_PROMS )
  2706.     ROM_LOAD( "pr7119.20",    0x0000, 0x0100, 0xb2a8260f ) /* palette red component */
  2707.     ROM_LOAD( "pr7118.14",    0x0100, 0x0100, 0x693e20c7 ) /* palette green component */
  2708.     ROM_LOAD( "pr7117.8",     0x0200, 0x0100, 0x4124307e ) /* palette blue component */
  2709. ROM_END
  2710.  
  2711. ROM_START( chplftbl )
  2712.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  2713.     ROM_LOAD( "7124bl.90",    0x00000, 0x8000, 0x71a37932 )
  2714.     ROM_LOAD( "7125.91",      0x10000, 0x8000, 0xf5283498 )
  2715.     ROM_LOAD( "7126.92",      0x18000, 0x8000, 0xdbd192ab )
  2716.  
  2717.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2718.     ROM_LOAD( "7130.126",     0x0000, 0x8000, 0x346af118 )
  2719.  
  2720.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2721.     ROM_LOAD( "7127.4",       0x00000, 0x8000, 0x1e708f6d )
  2722.     ROM_LOAD( "7128.5",       0x08000, 0x8000, 0xb922e787 )
  2723.     ROM_LOAD( "7129.6",       0x10000, 0x8000, 0xbd3b6e6e )
  2724.  
  2725.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2726.     ROM_LOAD( "7121.87",      0x00000, 0x8000, 0xf2b88f73 )
  2727.     ROM_LOAD( "7120.86",      0x08000, 0x8000, 0x517d7fd3 )
  2728.     ROM_LOAD( "7123.89",      0x10000, 0x8000, 0x8f16a303 )
  2729.     ROM_LOAD( "7122.88",      0x18000, 0x8000, 0x7c93f160 )
  2730.  
  2731.     ROM_REGION( 0x0300, REGION_PROMS )
  2732.     ROM_LOAD( "pr7119.20",    0x0000, 0x0100, 0xb2a8260f ) /* palette red component */
  2733.     ROM_LOAD( "pr7118.14",    0x0100, 0x0100, 0x693e20c7 ) /* palette green component */
  2734.     ROM_LOAD( "pr7117.8",     0x0200, 0x0100, 0x4124307e ) /* palette blue component */
  2735. ROM_END
  2736.  
  2737. ROM_START( 4dwarrio )
  2738.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2739.     ROM_LOAD( "4d.116",       0x0000, 0x4000, 0x546d1bc7 )  /* encrypted */
  2740.     ROM_LOAD( "4d.109",       0x4000, 0x4000, 0xf1074ec3 )  /* encrypted */
  2741.     ROM_LOAD( "4d.96",        0x8000, 0x4000, 0x387c1e8f )
  2742.  
  2743.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2744.     ROM_LOAD( "4d.120",       0x0000, 0x2000, 0x5241c009 )
  2745.  
  2746.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2747.     ROM_LOAD( "4d.62",        0x0000, 0x2000, 0xf31b2e09 )
  2748.     ROM_LOAD( "4d.61",        0x2000, 0x2000, 0x5430e925 )
  2749.     ROM_LOAD( "4d.64",        0x4000, 0x2000, 0x9f442351 )
  2750.     ROM_LOAD( "4d.63",        0x6000, 0x2000, 0x633232bd )
  2751.     ROM_LOAD( "4d.66",        0x8000, 0x2000, 0x52bfa2ed )
  2752.     ROM_LOAD( "4d.65",        0xa000, 0x2000, 0xe9ba4658 )
  2753.  
  2754.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2755.     ROM_LOAD( "4d.117",       0x0000, 0x4000, 0x436e4141 )
  2756.     ROM_LOAD( "4d.04",        0x4000, 0x4000, 0x8b7cecef )
  2757.     ROM_LOAD( "4d.110",       0x8000, 0x4000, 0x6ec5990a )
  2758.     ROM_LOAD( "4d.05",        0xc000, 0x4000, 0xf31a1e6a )
  2759. ROM_END
  2760.  
  2761. ROM_START( brain )
  2762.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  2763.     ROM_LOAD( "brain.1",      0x00000, 0x8000, 0x2d2aec31 )
  2764.     ROM_LOAD( "brain.2",      0x10000, 0x8000, 0x810a8ab5 )
  2765.     ROM_RELOAD(               0x08000, 0x8000 )    /* there's code falling through from 7fff */
  2766.                                                 /* so I have to copy the ROM there */
  2767.     ROM_LOAD( "brain.3",      0x18000, 0x8000, 0x9a225634 )
  2768.  
  2769.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2770.     ROM_LOAD( "brain.120",    0x0000, 0x8000, 0xc7e50278 )
  2771.  
  2772.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2773.     ROM_LOAD( "brain.62",     0x0000, 0x4000, 0x7dce2302 )
  2774.     ROM_LOAD( "brain.64",     0x4000, 0x4000, 0x7ce03fd3 )
  2775.     ROM_LOAD( "brain.66",     0x8000, 0x4000, 0xea54323f )
  2776.  
  2777.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2778.     ROM_LOAD( "brain.117",    0x00000, 0x8000, 0x92ff71a4 )
  2779.     ROM_LOAD( "brain.110",    0x08000, 0x8000, 0xa1b847ec )
  2780.     ROM_LOAD( "brain.4",      0x10000, 0x8000, 0xfd2ea53b )
  2781.     /* 18000-1ffff empty */
  2782.  
  2783.     ROM_REGION( 0x0300, REGION_PROMS )
  2784.     ROM_LOAD( "prom.3",       0x0000, 0x0100, 0x00000000 ) /* palette red component */
  2785.     ROM_LOAD( "prom.2",       0x0100, 0x0100, 0x00000000 ) /* palette green component */
  2786.     ROM_LOAD( "prom.1",       0x0200, 0x0100, 0x00000000 ) /* palette blue component */
  2787. ROM_END
  2788.  
  2789. ROM_START( wboy )
  2790.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2791.     ROM_LOAD( "b-1.bin",      0x0000, 0x4000, 0x51d27534 )  /* encrypted */
  2792.     ROM_LOAD( "b-2.bin",      0x4000, 0x4000, 0xe29d1cd1 )  /* encrypted */
  2793.     ROM_LOAD( "epr7491.96",   0x8000, 0x4000, 0x1f7d0efe )
  2794.  
  2795.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2796.     ROM_LOAD( "ic120_98.bin", 0x0000, 0x2000, 0x78ae1e7b )
  2797.  
  2798.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2799.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2800.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2801.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2802.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2803.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2804.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2805.  
  2806.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2807.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2808.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2809.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2810.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2811. ROM_END
  2812.  
  2813. ROM_START( wboy2 )
  2814.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2815.     ROM_LOAD( "wb_1",         0x0000, 0x4000, 0xbd6fef49 )  /* encrypted */
  2816.     ROM_LOAD( "wb_2",         0x4000, 0x4000, 0x4081b624 )  /* encrypted */
  2817.     ROM_LOAD( "wb_3",         0x8000, 0x4000, 0xc48a0e36 )
  2818.  
  2819.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2820.     ROM_LOAD( "ic120_98.bin", 0x0000, 0x2000, 0x78ae1e7b )
  2821.  
  2822.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2823.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2824.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2825.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2826.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2827.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2828.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2829.  
  2830.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2831.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2832.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2833.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2834.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2835. ROM_END
  2836.  
  2837. ROM_START( wboy3 )
  2838.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2839.     ROM_LOAD( "epr7489.116",  0x0000, 0x4000, 0x130f4b70 )  /* encrypted */
  2840.     ROM_LOAD( "epr7490.109",  0x4000, 0x4000, 0x9e656733 )  /* encrypted */
  2841.     ROM_LOAD( "epr7491.96",   0x8000, 0x4000, 0x1f7d0efe )
  2842.  
  2843.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2844.     ROM_LOAD( "epra7498.120", 0x0000, 0x2000, 0xc198205c )
  2845.  
  2846.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2847.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2848.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2849.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2850.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2851.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2852.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2853.  
  2854.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2855.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2856.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2857.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2858.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2859. ROM_END
  2860.  
  2861. ROM_START( wboy4 )
  2862.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  2863.     ROM_LOAD( "ic129",        0x0000, 0x2000, 0x1bbb7354 )  /* encrypted */
  2864.     ROM_LOAD( "ic130",        0x2000, 0x2000, 0x21007413 )  /* encrypted */
  2865.     ROM_LOAD( "ic131",        0x4000, 0x2000, 0x44b30433 )  /* encrypted */
  2866.     ROM_LOAD( "ic132",        0x6000, 0x2000, 0xbb525a0b )  /* encrypted */
  2867.     ROM_LOAD( "ic133",        0x8000, 0x2000, 0x8379aa23 )
  2868.     ROM_LOAD( "ic134",        0xa000, 0x2000, 0xc767a5d7 )
  2869.  
  2870.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2871.     ROM_LOAD( "epr7502",      0x0000, 0x2000, 0xc92484b3 )
  2872.  
  2873.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2874.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2875.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2876.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2877.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2878.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2879.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2880.  
  2881.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2882.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2883.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2884.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2885.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2886. ROM_END
  2887.  
  2888. ROM_START( wboyu )
  2889.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2890.     ROM_LOAD( "ic116_89.bin", 0x0000, 0x4000, 0x73d8cef0 )
  2891.     ROM_LOAD( "ic109_90.bin", 0x4000, 0x4000, 0x29546828 )
  2892.     ROM_LOAD( "ic096_91.bin", 0x8000, 0x4000, 0xc7145c2a )
  2893.  
  2894.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2895.     ROM_LOAD( "ic120_98.bin", 0x0000, 0x2000, 0x78ae1e7b )
  2896.  
  2897.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2898.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2899.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2900.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2901.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2902.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2903.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2904.  
  2905.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2906.     ROM_LOAD( "ic117_85.bin", 0x0000, 0x4000, 0x1ee96ae8 )
  2907.     ROM_LOAD( "ic004_87.bin", 0x4000, 0x4000, 0x119735bb )
  2908.     ROM_LOAD( "ic110_86.bin", 0x8000, 0x4000, 0x26d0fac4 )
  2909.     ROM_LOAD( "ic005_88.bin", 0xc000, 0x4000, 0x2602e519 )
  2910. ROM_END
  2911.  
  2912. ROM_START( wboy4u )
  2913.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2914.     ROM_LOAD( "ic129_02.bin", 0x0000, 0x2000, 0x32c4b709 )
  2915.     ROM_LOAD( "ic130_03.bin", 0x2000, 0x2000, 0x56463ede )
  2916.     ROM_LOAD( "ic131_04.bin", 0x4000, 0x2000, 0x775ed392 )
  2917.     ROM_LOAD( "ic132_05.bin", 0x6000, 0x2000, 0x7b922708 )
  2918.     ROM_LOAD( "ic133",        0x8000, 0x2000, 0x8379aa23 )
  2919.     ROM_LOAD( "ic134",        0xa000, 0x2000, 0xc767a5d7 )
  2920.  
  2921.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2922.     ROM_LOAD( "epra7498.120", 0x0000, 0x2000, 0xc198205c )
  2923.  
  2924.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2925.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2926.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2927.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2928.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2929.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2930.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2931.  
  2932.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2933.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2934.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2935.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2936.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2937. ROM_END
  2938.  
  2939. ROM_START( wbdeluxe )
  2940.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  2941.     ROM_LOAD( "wbd1.bin",     0x0000, 0x2000, 0xa1bedbd7 )
  2942.     ROM_LOAD( "ic130_03.bin", 0x2000, 0x2000, 0x56463ede )
  2943.     ROM_LOAD( "wbd3.bin",     0x4000, 0x2000, 0x6fcdbd4c )
  2944.     ROM_LOAD( "ic132_05.bin", 0x6000, 0x2000, 0x7b922708 )
  2945.     ROM_LOAD( "wbd5.bin",     0x8000, 0x2000, 0xf6b02902 )
  2946.     ROM_LOAD( "wbd6.bin",     0xa000, 0x2000, 0x43df21fe )
  2947.  
  2948.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2949.     ROM_LOAD( "epra7498.120", 0x0000, 0x2000, 0xc198205c )
  2950.  
  2951.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2952.     ROM_LOAD( "epr6497.62",   0x0000, 0x2000, 0x08d609ca )
  2953.     ROM_LOAD( "epr7496.61",   0x2000, 0x2000, 0x6f61fdf1 )
  2954.     ROM_LOAD( "epr7495.64",   0x4000, 0x2000, 0x6a0d2c2d )
  2955.     ROM_LOAD( "epr7494.63",   0x6000, 0x2000, 0xa8e281c7 )
  2956.     ROM_LOAD( "epr7493.66",   0x8000, 0x2000, 0x89305df4 )
  2957.     ROM_LOAD( "epr7492.65",   0xa000, 0x2000, 0x60f806b1 )
  2958.  
  2959.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  2960.     ROM_LOAD( "epr7485.117",  0x0000, 0x4000, 0xc2891722 )
  2961.     ROM_LOAD( "epr7487.04",   0x4000, 0x4000, 0x2d3a421b )
  2962.     ROM_LOAD( "epr7486.110",  0x8000, 0x4000, 0x8d622c50 )
  2963.     ROM_LOAD( "epr7488.05",   0xc000, 0x4000, 0x007c2f1b )
  2964. ROM_END
  2965.  
  2966. ROM_START( gardia )
  2967.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 128k for code + 128k for decrypted opcodes */
  2968.     ROM_LOAD( "epr10255.1",   0x00000, 0x8000, 0x89282a6b )
  2969.     ROM_LOAD( "epr10254.2",   0x10000, 0x8000, 0x2826b6d8 )
  2970.     ROM_LOAD( "epr10253.3",   0x18000, 0x8000, 0x7911260f )
  2971.  
  2972.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2973.     ROM_LOAD( "epr10243.120", 0x0000, 0x4000, 0x87220660 )
  2974.  
  2975.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  2976.     ROM_LOAD( "epr10249.61",  0x0000, 0x4000, 0x4e0ad0f2 )
  2977.     ROM_LOAD( "epr10248.64",  0x4000, 0x4000, 0x3515d124 )
  2978.     ROM_LOAD( "epr10247.66",  0x8000, 0x4000, 0x541e1555 )
  2979.  
  2980.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  2981.     ROM_LOAD( "epr10234.117", 0x00000, 0x8000, 0x8a6aed33 )
  2982.     ROM_LOAD( "epr10233.110", 0x08000, 0x8000, 0xc52784d3 )
  2983.     ROM_LOAD( "epr10236.04",  0x10000, 0x8000, 0xb35ab227 )
  2984.     ROM_LOAD( "epr10235.5",   0x18000, 0x8000, 0x006a3151 )
  2985.  
  2986.     ROM_REGION( 0x0300, REGION_PROMS )
  2987.     ROM_LOAD( "bprom.3",      0x0000, 0x0100, 0x8eee0f72 ) /* palette red component */
  2988.     ROM_LOAD( "bprom.2",      0x0100, 0x0100, 0x3e7babd7 ) /* palette green component */
  2989.     ROM_LOAD( "bprom.1",      0x0200, 0x0100, 0x371c44a6 ) /* palette blue component */
  2990. ROM_END
  2991.  
  2992. ROM_START( gardiab )
  2993.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 128k for code + 128k for decrypted opcodes */
  2994.     ROM_LOAD( "gardiabl.5",   0x00000, 0x8000, 0x207f9cbb )
  2995.     ROM_LOAD( "gardiabl.6",   0x10000, 0x8000, 0xb2ed05dc )
  2996.     ROM_LOAD( "gardiabl.7",   0x18000, 0x8000, 0x0a490588 )
  2997.  
  2998.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  2999.     ROM_LOAD( "epr10243.120", 0x0000, 0x4000, 0x87220660 )
  3000.  
  3001.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3002.     ROM_LOAD( "gardiabl.8",   0x0000, 0x4000, 0x367c9a17 )
  3003.     ROM_LOAD( "gardiabl.9",   0x4000, 0x4000, 0x1540fd30 )
  3004.     ROM_LOAD( "gardiabl.10",  0x8000, 0x4000, 0xe5c9af10 )
  3005.  
  3006.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3007.     ROM_LOAD( "epr10234.117", 0x00000, 0x8000, 0x8a6aed33 )
  3008.     ROM_LOAD( "epr10233.110", 0x08000, 0x8000, 0xc52784d3 )
  3009.     ROM_LOAD( "epr10236.04",  0x10000, 0x8000, 0xb35ab227 )
  3010.     ROM_LOAD( "epr10235.5",   0x18000, 0x8000, 0x006a3151 )
  3011.  
  3012.     ROM_REGION( 0x0300, REGION_PROMS )
  3013.     ROM_LOAD( "bprom.3",      0x0000, 0x0100, 0x8eee0f72 ) /* palette red component */
  3014.     ROM_LOAD( "bprom.2",      0x0100, 0x0100, 0x3e7babd7 ) /* palette green component */
  3015.     ROM_LOAD( "bprom.1",      0x0200, 0x0100, 0x371c44a6 ) /* palette blue component */
  3016. ROM_END
  3017.  
  3018. ROM_START( blockgal )
  3019.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  3020.     ROM_LOAD( "bg.116",       0x0000, 0x4000, 0xa99b231a )  /* encrypted */
  3021.     ROM_LOAD( "bg.109",       0x4000, 0x4000, 0xa6b573d5 )  /* encrypted */
  3022.     /* 0x8000-0xbfff empty (was same as My Hero) */
  3023.  
  3024.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3025.     ROM_LOAD( "bg.120",       0x0000, 0x2000, 0xd848faff )
  3026.  
  3027.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3028.     ROM_LOAD( "bg.62",        0x0000, 0x2000, 0x7e3ea4eb )
  3029.     ROM_LOAD( "bg.61",        0x2000, 0x2000, 0x4dd3d39d )
  3030.     ROM_LOAD( "bg.64",        0x4000, 0x2000, 0x17368663 )
  3031.     ROM_LOAD( "bg.63",        0x6000, 0x2000, 0x0c8bc404 )
  3032.     ROM_LOAD( "bg.66",        0x8000, 0x2000, 0x2b7dc4fa )
  3033.     ROM_LOAD( "bg.65",        0xa000, 0x2000, 0xed121306 )
  3034.  
  3035.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  3036.     ROM_LOAD( "bg.117",       0x0000, 0x4000, 0xe99cc920 )
  3037.     ROM_LOAD( "bg.04",        0x4000, 0x4000, 0x213057f8 )
  3038.     ROM_LOAD( "bg.110",       0x8000, 0x4000, 0x064c812c )
  3039.     ROM_LOAD( "bg.05",        0xc000, 0x4000, 0x02e0b040 )
  3040. ROM_END
  3041.  
  3042. ROM_START( blckgalb )
  3043.     ROM_REGION( 2*0x10000, REGION_CPU1 ) /* 64k for code + 64k for decrypted opcodes */
  3044.     ROM_LOAD( "ic62",         0x10000, 0x8000, 0x65c47676 ) /* decrypted opcodes */
  3045.     ROM_CONTINUE(             0x00000, 0x8000 )             /* decrypted data */
  3046.  
  3047.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3048.     ROM_LOAD( "bg.120",       0x0000, 0x2000, 0xd848faff )
  3049.  
  3050.     ROM_REGION( 0xc000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3051.     ROM_LOAD( "bg.62",        0x0000, 0x2000, 0x7e3ea4eb )
  3052.     ROM_LOAD( "bg.61",        0x2000, 0x2000, 0x4dd3d39d )
  3053.     ROM_LOAD( "bg.64",        0x4000, 0x2000, 0x17368663 )
  3054.     ROM_LOAD( "bg.63",        0x6000, 0x2000, 0x0c8bc404 )
  3055.     ROM_LOAD( "bg.66",        0x8000, 0x2000, 0x2b7dc4fa )
  3056.     ROM_LOAD( "bg.65",        0xa000, 0x2000, 0xed121306 )
  3057.  
  3058.     ROM_REGION( 0x10000, REGION_GFX2 )    /* 64k for sprites data */
  3059.     ROM_LOAD( "bg.117",       0x0000, 0x4000, 0xe99cc920 )
  3060.     ROM_LOAD( "bg.04",        0x4000, 0x4000, 0x213057f8 )
  3061.     ROM_LOAD( "bg.110",       0x8000, 0x4000, 0x064c812c )
  3062.     ROM_LOAD( "bg.05",        0xc000, 0x4000, 0x02e0b040 )
  3063. ROM_END
  3064.  
  3065. ROM_START( tokisens )
  3066.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  3067.     ROM_LOAD( "epr10961.90",  0x00000, 0x8000, 0x1466b61d )
  3068.     ROM_LOAD( "epr10962.91",  0x10000, 0x8000, 0xa8479f91 )
  3069.     ROM_LOAD( "epr10963.92",  0x18000, 0x8000, 0xb7193b39 )
  3070.  
  3071.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3072.     ROM_LOAD( "epr10967.126", 0x0000, 0x8000, 0x97966bf2 )
  3073.  
  3074.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3075.     ROM_LOAD( "epr10964.4",   0x00000, 0x8000, 0x9013b85c )
  3076.     ROM_LOAD( "epr10965.5",   0x08000, 0x8000, 0xe4755cc6 )
  3077.     ROM_LOAD( "epr10966.6",   0x10000, 0x8000, 0x5bbfbdcc )
  3078.  
  3079.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3080.     ROM_LOAD( "epr10958.87",  0x00000, 0x8000, 0xfc2bcbd7 )
  3081.     ROM_LOAD( "epr10957.86",  0x08000, 0x8000, 0x4ec56860 )
  3082.     ROM_LOAD( "epr10960.89",  0x10000, 0x8000, 0x880e0d44 )
  3083.     ROM_LOAD( "epr10959.88",  0x18000, 0x8000, 0x4deda48f )
  3084.  
  3085.     ROM_REGION( 0x0300, REGION_PROMS )
  3086.     ROM_LOAD( "bprom.20",      0x0000, 0x0100, 0x8eee0f72 ) /* palette red component */
  3087.     ROM_LOAD( "bprom.14",      0x0100, 0x0100, 0x3e7babd7 ) /* palette green component */
  3088.     ROM_LOAD( "bprom.8",      0x0200, 0x0100, 0x371c44a6 ) /* palette blue component */
  3089. ROM_END
  3090.  
  3091. ROM_START( wbml )
  3092.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 256k for code + 256k for decrypted opcodes */
  3093.     ROM_LOAD( "wbml.01",      0x20000, 0x8000, 0x66482638 ) /* Unencrypted opcodes */
  3094.     ROM_CONTINUE(             0x00000, 0x8000 )              /* Now load the operands in RAM */
  3095.     ROM_LOAD( "wbml.02",      0x30000, 0x8000, 0x48746bb6 ) /* Unencrypted opcodes */
  3096.     ROM_CONTINUE(             0x10000, 0x8000 )
  3097.     ROM_LOAD( "wbml.03",      0x38000, 0x8000, 0xd57ba8aa ) /* Unencrypted opcodes */
  3098.     ROM_CONTINUE(             0x18000, 0x8000 )
  3099.  
  3100.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3101.     ROM_LOAD( "epr11037.126", 0x0000, 0x8000, 0x7a4ee585 )
  3102.  
  3103.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3104.     ROM_LOAD( "wbml.08",      0x00000, 0x8000, 0xbbea6afe )
  3105.     ROM_LOAD( "wbml.09",      0x08000, 0x8000, 0x77567d41 )
  3106.     ROM_LOAD( "wbml.10",      0x10000, 0x8000, 0xa52ffbdd )
  3107.  
  3108.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3109.     ROM_LOAD( "epr11028.87",  0x00000, 0x8000, 0xaf0b3972 )
  3110.     ROM_LOAD( "epr11027.86",  0x08000, 0x8000, 0x277d8f1d )
  3111.     ROM_LOAD( "epr11030.89",  0x10000, 0x8000, 0xf05ffc76 )
  3112.     ROM_LOAD( "epr11029.88",  0x18000, 0x8000, 0xcedc9c61 )
  3113.  
  3114.     ROM_REGION( 0x0300, REGION_PROMS )
  3115.     ROM_LOAD( "pr11026.20",   0x0000, 0x0100, 0x27057298 )
  3116.     ROM_LOAD( "pr11025.14",   0x0100, 0x0100, 0x41e4d86b )
  3117.     ROM_LOAD( "pr11024.8",    0x0200, 0x0100, 0x08d71954 )
  3118. ROM_END
  3119.  
  3120. ROM_START( wbmlj )
  3121.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 256k for code + 256k for decrypted opcodes */
  3122.     ROM_LOAD( "epr11031.90",  0x00000, 0x8000, 0x497ebfb4 ) /* encrypted */
  3123.     ROM_LOAD( "epr11032.91",  0x10000, 0x8000, 0x9d03bdb2 ) /* encrypted */
  3124.     ROM_LOAD( "epr11033.92",  0x18000, 0x8000, 0x7076905c ) /* encrypted */
  3125.  
  3126.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3127.     ROM_LOAD( "epr11037.126", 0x0000, 0x8000, 0x7a4ee585 )
  3128.  
  3129.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3130.     ROM_LOAD( "epr11034.4",   0x00000, 0x8000, 0x37a2077d )
  3131.     ROM_LOAD( "epr11035.5",   0x08000, 0x8000, 0xcdf2a21b )
  3132.     ROM_LOAD( "epr11036.6",   0x10000, 0x8000, 0x644687fa )
  3133.  
  3134.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3135.     ROM_LOAD( "epr11028.87",  0x00000, 0x8000, 0xaf0b3972 )
  3136.     ROM_LOAD( "epr11027.86",  0x08000, 0x8000, 0x277d8f1d )
  3137.     ROM_LOAD( "epr11030.89",  0x10000, 0x8000, 0xf05ffc76 )
  3138.     ROM_LOAD( "epr11029.88",  0x18000, 0x8000, 0xcedc9c61 )
  3139.  
  3140.     ROM_REGION( 0x0300, REGION_PROMS )
  3141.     ROM_LOAD( "pr11026.20",   0x0000, 0x0100, 0x27057298 )
  3142.     ROM_LOAD( "pr11025.14",   0x0100, 0x0100, 0x41e4d86b )
  3143.     ROM_LOAD( "pr11024.8",    0x0200, 0x0100, 0x08d71954 )
  3144. ROM_END
  3145.  
  3146. ROM_START( wbmlj2 )
  3147.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 256k for code + 256k for decrypted opcodes */
  3148.     ROM_LOAD( "ep11031a.90",  0x00000, 0x8000, 0xbd3349e5 ) /* encrypted */
  3149.     ROM_LOAD( "epr11032.91",  0x10000, 0x8000, 0x9d03bdb2 ) /* encrypted */
  3150.     ROM_LOAD( "epr11033.92",  0x18000, 0x8000, 0x7076905c ) /* encrypted */
  3151.  
  3152.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3153.     ROM_LOAD( "epr11037.126", 0x0000, 0x8000, 0x7a4ee585 )
  3154.  
  3155.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3156.     ROM_LOAD( "epr11034.4",   0x00000, 0x8000, 0x37a2077d )
  3157.     ROM_LOAD( "epr11035.5",   0x08000, 0x8000, 0xcdf2a21b )
  3158.     ROM_LOAD( "epr11036.6",   0x10000, 0x8000, 0x644687fa )
  3159.  
  3160.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3161.     ROM_LOAD( "epr11028.87",  0x00000, 0x8000, 0xaf0b3972 )
  3162.     ROM_LOAD( "epr11027.86",  0x08000, 0x8000, 0x277d8f1d )
  3163.     ROM_LOAD( "epr11030.89",  0x10000, 0x8000, 0xf05ffc76 )
  3164.     ROM_LOAD( "epr11029.88",  0x18000, 0x8000, 0xcedc9c61 )
  3165.  
  3166.     ROM_REGION( 0x0300, REGION_PROMS )
  3167.     ROM_LOAD( "pr11026.20",   0x0000, 0x0100, 0x27057298 )
  3168.     ROM_LOAD( "pr11025.14",   0x0100, 0x0100, 0x41e4d86b )
  3169.     ROM_LOAD( "pr11024.8",    0x0200, 0x0100, 0x08d71954 )
  3170. ROM_END
  3171.  
  3172. ROM_START( wbmlju )
  3173.     ROM_REGION( 2*0x20000, REGION_CPU1 ) /* 256k for code + 256k for decrypted opcodes */
  3174.     ROM_LOAD( "wbml.01",      0x20000, 0x8000, 0x66482638 ) /* Unencrypted opcodes */
  3175.     ROM_CONTINUE(             0x00000, 0x8000 )              /* Now load the operands in RAM */
  3176.     ROM_LOAD( "m-6.bin",      0x30000, 0x8000, 0x8c08cd11 ) /* Unencrypted opcodes */
  3177.     ROM_CONTINUE(             0x10000, 0x8000 )
  3178.     ROM_LOAD( "m-7.bin",      0x38000, 0x8000, 0x11881703 ) /* Unencrypted opcodes */
  3179.     ROM_CONTINUE(             0x18000, 0x8000 )
  3180.  
  3181.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3182.     ROM_LOAD( "epr11037.126", 0x0000, 0x8000, 0x7a4ee585 )
  3183.  
  3184.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3185.     ROM_LOAD( "epr11034.4",   0x00000, 0x8000, 0x37a2077d )
  3186.     ROM_LOAD( "epr11035.5",   0x08000, 0x8000, 0xcdf2a21b )
  3187.     ROM_LOAD( "epr11036.6",   0x10000, 0x8000, 0x644687fa )
  3188.  
  3189.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3190.     ROM_LOAD( "epr11028.87",  0x00000, 0x8000, 0xaf0b3972 )
  3191.     ROM_LOAD( "epr11027.86",  0x08000, 0x8000, 0x277d8f1d )
  3192.     ROM_LOAD( "epr11030.89",  0x10000, 0x8000, 0xf05ffc76 )
  3193.     ROM_LOAD( "epr11029.88",  0x18000, 0x8000, 0xcedc9c61 )
  3194.  
  3195.     ROM_REGION( 0x0300, REGION_PROMS )
  3196.     ROM_LOAD( "pr11026.20",   0x0000, 0x0100, 0x27057298 )
  3197.     ROM_LOAD( "pr11025.14",   0x0100, 0x0100, 0x41e4d86b )
  3198.     ROM_LOAD( "pr11024.8",    0x0200, 0x0100, 0x08d71954 )
  3199. ROM_END
  3200.  
  3201. ROM_START( dakkochn )
  3202.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  3203.     ROM_LOAD( "epr11224.90",  0x00000, 0x8000, 0x9fb1972b ) /* encrypted */
  3204.     ROM_LOAD( "epr11225.91",  0x10000, 0x8000, 0xc540f9e2 ) /* encrypted */
  3205.     /* 18000-1ffff empty */
  3206.  
  3207.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3208.     ROM_LOAD( "epr11229.126", 0x0000, 0x8000, 0xc11648d0 )
  3209.  
  3210.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3211.     ROM_LOAD( "epr11226.4",   0x00000, 0x8000, 0x3dbc2f78 )
  3212.     ROM_LOAD( "epr11227.5",   0x08000, 0x8000, 0x34156e8d )
  3213.     ROM_LOAD( "epr11228.6",   0x10000, 0x8000, 0xfdd5323f )
  3214.  
  3215.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3216.     ROM_LOAD( "epr11221.87",  0x00000, 0x8000, 0xf9a44916 )
  3217.     ROM_LOAD( "epr11220.86",  0x08000, 0x8000, 0xfdd25d8a )
  3218.     ROM_LOAD( "epr11223.89",  0x10000, 0x8000, 0x538adc55 )
  3219.     ROM_LOAD( "epr11222.88",  0x18000, 0x8000, 0x33fab0b2 )
  3220.  
  3221.     ROM_REGION( 0x0300, REGION_PROMS )
  3222.     ROM_LOAD( "pr11219.20",   0x0000, 0x0100, 0x45e252d9 ) /* palette red component */
  3223.     ROM_LOAD( "pr11218.14",   0x0100, 0x0100, 0x3eda3a1b ) /* palette green component */
  3224.     ROM_LOAD( "pr11217.8",    0x0200, 0x0100, 0x49dbde88 ) /* palette blue component */
  3225. ROM_END
  3226.  
  3227. ROM_START( ufosensi )
  3228.     ROM_REGION( 0x20000, REGION_CPU1 ) /* 128k for code */
  3229.     ROM_LOAD( "epr11661.90",  0x00000, 0x8000, 0xf3e394e2 ) /* encrypted */
  3230.     ROM_LOAD( "epr11662.91",  0x10000, 0x8000, 0x0c2e4120 ) /* encrypted */
  3231.     ROM_LOAD( "epr11663.92",  0x18000, 0x8000, 0x4515ebae ) /* encrypted */
  3232.  
  3233.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for sound cpu */
  3234.     ROM_LOAD( "epr11667.126", 0x0000, 0x8000, 0x110baba9 )
  3235.  
  3236.     ROM_REGION( 0x18000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  3237.     ROM_LOAD( "epr11664.4",   0x00000, 0x8000, 0x1b1bc3d5 )
  3238.     ROM_LOAD( "epr11665.5",   0x08000, 0x8000, 0x3659174a )
  3239.     ROM_LOAD( "epr11666.6",   0x10000, 0x8000, 0x99dcc793 )
  3240.  
  3241.     ROM_REGION( 0x20000, REGION_GFX2 )    /* 128k for sprites data */
  3242.     ROM_LOAD( "epr11658.87",  0x00000, 0x8000, 0x3b5a20f7 )
  3243.     ROM_LOAD( "epr11657.86",  0x08000, 0x8000, 0x010f81a9 )
  3244.     ROM_LOAD( "epr11660.89",  0x10000, 0x8000, 0xe1e2e7c5 )
  3245.     ROM_LOAD( "epr11659.88",  0x18000, 0x8000, 0x286c7286 )
  3246.  
  3247.     ROM_REGION( 0x0300, REGION_PROMS )
  3248.     ROM_LOAD( "pr11656.20",   0x0000, 0x0100, 0x640740eb ) /* palette red component */
  3249.     ROM_LOAD( "pr11655.14",   0x0100, 0x0100, 0xa0c3fa77 ) /* palette green component */
  3250.     ROM_LOAD( "pr11654.8",    0x0200, 0x0100, 0xba624305 ) /* palette blue component */
  3251. ROM_END
  3252.  
  3253.  
  3254. static void init_regulus(void)    { regulus_decode(); }
  3255. static void init_mrviking(void)    { mrviking_decode(); }
  3256. static void init_swat(void)        { swat_decode(); }
  3257. static void init_flicky(void)    { flicky_decode(); }
  3258. static void init_bullfgtj(void)    { bullfgtj_decode(); }
  3259. static void init_pitfall2(void)    { pitfall2_decode(); }
  3260. static void init_nprinces(void)    { nprinces_decode(); }
  3261. static void init_seganinj(void)    { seganinj_decode(); }
  3262. static void init_imsorry(void)    { imsorry_decode(); }
  3263. static void init_teddybb(void)    { teddybb_decode(); }
  3264. static void init_hvymetal(void)    { hvymetal_decode(); }
  3265. static void init_myheroj(void)    { myheroj_decode(); }
  3266. static void init_fdwarrio(void)    { fdwarrio_decode(); }
  3267. static void init_wboy3(void)    { wboy3_decode(); }
  3268. static void init_wboy4(void)    { wboy4_decode(); }
  3269. static void init_gardia(void)    { gardia_decode(); }
  3270.  
  3271. void init_myherok(void)
  3272. {
  3273.     int A;
  3274.     unsigned char *rom;
  3275.  
  3276.     /* additionally to the usual protection, all the program ROMs have data lines */
  3277.     /* D0 and D1 swapped. */
  3278.     rom = memory_region(REGION_CPU1);
  3279.     for (A = 0;A < 0xc000;A++)
  3280.         rom[A] = (rom[A] & 0xfc) | ((rom[A] & 1) << 1) | ((rom[A] & 2) >> 1);
  3281.  
  3282.     /* the tile gfx ROMs are mangled as well: */
  3283.     rom = memory_region(REGION_GFX1);
  3284.  
  3285.     /* the first ROM has data lines D0 and D6 swapped. */
  3286.     for (A = 0x0000;A < 0x4000;A++)
  3287.         rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6);
  3288.  
  3289.     /* the second ROM has data lines D1 and D5 swapped. */
  3290.     for (A = 0x4000;A < 0x8000;A++)
  3291.         rom[A] = (rom[A] & 0xdd) | ((rom[A] & 0x02) << 4) | ((rom[A] & 0x20) >> 4);
  3292.  
  3293.     /* the third ROM has data lines D0 and D6 swapped. */
  3294.     for (A = 0x8000;A < 0xc000;A++)
  3295.         rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6);
  3296.  
  3297.     /* also, all three ROMs have address lines A4 and A5 swapped. */
  3298.     for (A = 0;A < 0xc000;A++)
  3299.     {
  3300.         int A1;
  3301.         unsigned char temp;
  3302.  
  3303.         A1 = (A & 0xffcf) | ((A & 0x0010) << 1) | ((A & 0x0020) >> 1);
  3304.         if (A < A1)
  3305.         {
  3306.             temp = rom[A];
  3307.             rom[A] = rom[A1];
  3308.             rom[A1] = temp;
  3309.         }
  3310.     }
  3311.  
  3312.     myheroj_decode();
  3313. }
  3314.  
  3315. static void init_bootleg(void)
  3316. {
  3317.     unsigned char *rom = memory_region(REGION_CPU1);
  3318.     int diff = memory_region_length(REGION_CPU1) / 2;
  3319.  
  3320.     memory_set_opcode_base(0,rom+diff);
  3321. }
  3322.  
  3323.  
  3324.  
  3325. GAMEX(1983, starjack, 0,        small,    starjack, 0,        ROT270, "Sega", "Star Jacker (Sega)", GAME_NO_COCKTAIL )
  3326. GAMEX(1983, starjacs, starjack, small,    starjacs, 0,        ROT270, "Stern", "Star Jacker (Stern)", GAME_NO_COCKTAIL )
  3327. GAMEX(1983, regulus,  0,        system1,  regulus,  regulus,  ROT270, "Sega", "Regulus", GAME_NO_COCKTAIL )
  3328. GAMEX(1983, regulusu, regulus,  system1,  regulus,  0,        ROT270, "Sega", "Regulus (not encrypted)", GAME_NO_COCKTAIL )
  3329. GAMEX(1983, upndown,  0,        system1,  upndown,  0,        ROT270, "Sega", "Up'n Down", GAME_NO_COCKTAIL )
  3330. GAMEX(1984, mrviking, 0,        small,    mrviking, mrviking, ROT270, "Sega", "Mister Viking", GAME_NO_COCKTAIL )
  3331. GAMEX(1984, mrvikinj, mrviking, small,    mrviking, mrviking, ROT270, "Sega", "Mister Viking (Japan)", GAME_NO_COCKTAIL )
  3332. GAMEX(1984, swat,     0,        system1,  swat,     swat,     ROT270, "Coreland / Sega", "SWAT", GAME_NO_COCKTAIL )
  3333. GAMEX(1984, flicky,   0,        system1,  flicky,   flicky,   ROT0,   "Sega", "Flicky (set 1)", GAME_NO_COCKTAIL )
  3334. GAMEX(1984, flicky2,  flicky,   system1,  flicky,   flicky,   ROT0,   "Sega", "Flicky (set 2)", GAME_NO_COCKTAIL )
  3335. GAMEX(1984, bullfgtj, 0,        system1,  bullfgtj, bullfgtj, ROT0,   "Sega / Coreland", "The Tougyuu (Japan)", GAME_NO_COCKTAIL )    /* Bull Fight */
  3336. GAMEX(1985, pitfall2, 0,        pitfall2, pitfall2, pitfall2, ROT0,   "Sega", "Pitfall II", GAME_NO_COCKTAIL )
  3337. GAMEX(1985, pitfallu, pitfall2, pitfall2, pitfallu, 0,        ROT0,   "Sega", "Pitfall II (not encrypted)", GAME_NO_COCKTAIL )
  3338. GAMEX(1985, seganinj, 0,        system1,  seganinj, seganinj, ROT0,   "Sega", "Sega Ninja", GAME_NO_COCKTAIL )
  3339. GAMEX(1985, seganinu, seganinj, system1,  seganinj, 0,        ROT0,   "Sega", "Sega Ninja (not encrypted)", GAME_NO_COCKTAIL )
  3340. GAMEX(1985, nprinces, seganinj, system1,  seganinj, nprinces, ROT0,   "Sega", "Ninja Princess", GAME_NO_COCKTAIL )
  3341. GAMEX(1985, nprincsu, seganinj, system1,  seganinj, 0,        ROT0,   "Sega", "Ninja Princess (not encrypted)", GAME_NO_COCKTAIL )
  3342. GAMEX(1985, nprincsb, seganinj, system1,  seganinj, flicky,   ROT0,   "bootleg?", "Ninja Princess (bootleg?)", GAME_NO_COCKTAIL )
  3343. GAMEX(1985, imsorry,  0,        system1,  imsorry,  imsorry,  ROT0,   "Coreland / Sega", "I'm Sorry (US)", GAME_NO_COCKTAIL )
  3344. GAMEX(1985, imsorryj, imsorry,  system1,  imsorry,  imsorry,  ROT0,   "Coreland / Sega", "I'm Sorry (Japan)", GAME_NO_COCKTAIL )
  3345. GAMEX(1985, teddybb,  0,        system1,  teddybb,  teddybb,  ROT0,   "Sega", "TeddyBoy Blues", GAME_NO_COCKTAIL )
  3346. GAMEX(1985, hvymetal, 0,        hvymetal, hvymetal, hvymetal, ROT0,   "Sega", "Heavy Metal", GAME_NO_COCKTAIL )
  3347. GAMEX(1985, myhero,   0,        system1,  myhero,   0,        ROT0,   "Sega", "My Hero (US)", GAME_NO_COCKTAIL )
  3348. GAMEX(1985, myheroj,  myhero,   system1,  myhero,   myheroj,  ROT0,   "Coreland / Sega", "Seishun Scandal (Japan)", GAME_NO_COCKTAIL )
  3349. GAMEX(1985, myherok,  myhero,   system1,  myhero,   myherok,  ROT0,   "Coreland / Sega", "My Hero (Korea)", GAME_NO_COCKTAIL )
  3350. GAMEX(1985, shtngmst, 0,        chplft,   chplft,   0,        ROT0,   "Sega", "Shooting Master", GAME_NOT_WORKING | GAME_NO_COCKTAIL )    /* 8751 protection */
  3351. GAMEX(1985, chplft,   0,        chplft,   chplft,   0,        ROT0,   "Sega", "Choplifter", GAME_NOT_WORKING | GAME_NO_COCKTAIL )    /* 8751 protection */
  3352. GAMEX(1985, chplftb,  chplft,   chplft,   chplft,   0,        ROT0,   "Sega", "Choplifter (alternate)", GAME_NO_COCKTAIL )
  3353. GAMEX(1985, chplftbl, chplft,   chplft,   chplft,   0,        ROT0,   "bootleg", "Choplifter (bootleg)", GAME_NO_COCKTAIL )
  3354. GAMEX(1985, 4dwarrio, 0,        system1,  4dwarrio, fdwarrio, ROT0,   "Coreland / Sega", "4-D Warriors", GAME_NO_COCKTAIL )
  3355. GAMEX(1986, brain,    0,        brain,    brain,    0,        ROT0,   "Coreland / Sega", "Brain", GAME_NO_COCKTAIL )
  3356. GAMEX(1986, wboy,     0,        system1,  wboy,     hvymetal, ROT0,   "Sega (Escape license)", "Wonder Boy (set 1)", GAME_NO_COCKTAIL )
  3357. GAMEX(1986, wboy2,    wboy,     system1,  wboy,     hvymetal, ROT0,   "Sega (Escape license)", "Wonder Boy (set 2)", GAME_NO_COCKTAIL )
  3358. GAMEX(????, wboy3,    wboy,     system1,  wboy,     wboy3,    ROT0,   "<unknown>", "Wonder Boy (set 3)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3359. GAMEX(1986, wboy4,    wboy,     system1,  wboy,     wboy4,    ROT0,   "Sega (Escape license)", "Wonder Boy (set 4)", GAME_NO_COCKTAIL )
  3360. GAMEX(1986, wboyu,    wboy,     system1,  wboyu,    0,        ROT0,   "Sega (Escape license)", "Wonder Boy (not encrypted)", GAME_NO_COCKTAIL )
  3361. GAMEX(1986, wboy4u,   wboy,     system1,  wboy,     0,        ROT0,   "Sega (Escape license)", "Wonder Boy (set 4 not encrypted)", GAME_NO_COCKTAIL )
  3362. GAMEX(1986, wbdeluxe, wboy,     system1,  wbdeluxe, 0,        ROT0,   "Sega (Escape license)", "Wonder Boy Deluxe", GAME_NO_COCKTAIL )
  3363. GAMEX(1986, gardia,   0,        brain,    wboy,     gardia,   ROT270, "Sega / Coreland", "Gardia", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3364. GAMEX(1986, gardiab,  gardia,   brain,    wboy,     gardia,   ROT270, "bootleg", "Gardia (bootleg)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3365. GAMEX(1987, blockgal, 0,        system1,  blockgal, 0,        ROT90,  "Sega / Vic Tokai", "Block Gal", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3366. GAMEX(1987, blckgalb, blockgal, system1,  blockgal, bootleg,  ROT90,  "bootleg", "Block Gal (bootleg)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3367. GAMEX(1987, tokisens, 0,        wbml,     tokisens, 0,        ROT90,  "Sega", "Toki no Senshi - Chrono Soldier", GAME_NO_COCKTAIL )
  3368. GAMEX(1987, wbml,     0,        wbml,     wbml,     bootleg,  ROT0,   "bootleg", "Wonder Boy in Monster Land", GAME_NO_COCKTAIL )
  3369. GAMEX(1987, wbmlj,    wbml,     wbml,     wbml,     0,        ROT0,   "Sega / Westone", "Wonder Boy in Monster Land (Japan set 1)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3370. GAMEX(1987, wbmlj2,   wbml,     wbml,     wbml,     0,        ROT0,   "Sega / Westone", "Wonder Boy in Monster Land (Japan set 2)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3371. GAMEX(1987, wbmlju,   wbml,     wbml,     wbml,     bootleg,  ROT0,   "Sega / Westone", "Wonder Boy in Monster Land (Japan not encrypted)", GAME_NO_COCKTAIL )
  3372. GAMEX(1987, dakkochn, 0,        chplft,   chplft,   0,        ROT0,   "Sega", "DakkoChan Jansoh", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3373. GAMEX(1988, ufosensi, 0,        chplft,   chplft,   0,        ROT0,   "Sega", "Ufo Senshi Yohko Chan", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3374.